我想在我的滚动视图中显示2个ImageView,如this,但它不起作用。
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@android:color/background_dark"
android:layout_width="fill_parent"
android:fillViewport="true"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center" />
<ImageView
android:id="@+id/imageB"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/image"
android:gravity="center" />
</LinearLayout>
</ScrollView>
如果我不使用android:fillViewport =“true”,我会看到2图像,但它们会调整大小。如果我使用,大小是正确的,但我不能到达第二个图像。为什么?
由于
答案 0 :(得分:0)
如果您想要根据尺寸看到这两种图像,则应使用
<ImageView
...
android:layout_height="wrap_content"
.../>
而不是
<ImageView
...
android:layout_height="match_content"
.../>
希望这有帮助。
答案 1 :(得分:0)
您可以以编程方式获取屏幕宽度和高度,然后分别设置ImageView的宽度和高度。这是代码:
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
try {
display.getRealSize(size);
int width = size.x;
int height = size.y;
} catch (NoSuchMethodError e) {//to deal with API 8
int height = display.getHeight();
int width = display.getWidth();
}
答案 2 :(得分:0)
也许问题是你的图像资源在错误的文件夹中?尝试删除“fillViewport”并将图像移动到较低的dpi文件夹(从hdpi到mdpi或从mdpi到ldpi),这将改变图像的“dp”(与密度无关的像素),使其在每个屏幕上变大。
另外,为什么两个图像的宽度和高度都是“match_parent”?不会让他们都占据整个LinearLayout吗?