我有一个ScrollView
,LinearLayout
,内有4 ImageView
,但第一个没有显示。
(drawables和id的名字不一样,我故意写了XXX)
这是我的布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linLayoutAbout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="vertical" >
// Another stuff
...
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="5dp"
android:orientation="vertical" >
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="wrap_content"
android:layout_height="65dp"
android:layout_gravity="center"
android:isScrollContainer="true" >
<LinearLayout
android:id="@+id/linLayoutScrollView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical" >
<ImageView //<- Just this ImageView is not shown
android:id="@+id/logo_XXX"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="5dp"
android:src="@drawable/logo_XXX" />
<ImageView
android:id="@+id/logo_XXX"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="5dp"
android:src="@drawable/logo_XXX" />
<ImageView
android:id="@+id/logo_XXX"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="5dp"
android:src="@drawable/logo_XXX" />
<ImageView
android:id="@+id/logo_XXX"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/logo_XXX" />
</LinearLayout>
</ScrollView>
</LinearLayout>
<Button
android:id="@+id/close_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="10dp"
android:text="@string/close_about" />
如果我使用某个dp_value设置android:layout_height
,那么我看不到第一个ImageView
,但如果我使用“wrap_content”设置它,那么我可以看到所有ImageView
的
愿任何人告诉我我做错了什么,我该如何解决?
提前谢谢。
答案 0 :(得分:3)
您必须删除该行
android:layout_gravity="center"
在ScrollView中的id为“@ + id / linLayoutScrollView1”的LinearLayout中。因为它将线性布局集中在ScrollView的65个像素内,这意味着上面一半的图像不在屏幕之外。
试试这段代码;
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linLayoutAbout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="vertical" >
// Another stuff
...
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="5dp"
android:orientation="vertical" >
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="wrap_content"
android:layout_height="65dp"
android:layout_gravity="center"
android:isScrollContainer="true" >
<LinearLayout
android:id="@+id/linLayoutScrollView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageView
android:id="@+id/logo_XXX1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="5dp"
android:src="@drawable/ic_launcher" />
<ImageView
android:id="@+id/logo_XXX2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="5dp"
android:src="@drawable/ic_launcher" />
<ImageView
android:id="@+id/logo_XXX3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="5dp"
android:src="@drawable/ic_launcher" />
<ImageView
android:id="@+id/logo_XXX4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/ic_launcher" />
</LinearLayout>
</ScrollView>
</LinearLayout>
<Button
android:id="@+id/close_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="10dp"
android:text="close_about" />
</LinearLayout>
我更改了LinearLayout并为图像添加了一些实际值。现在所有图像都正确显示。只需替换您的图像,看看差异。
答案 1 :(得分:1)
65必须小于总高度。它必须显示当你尝试更大的dp值,可能是150等。它尝试了一些随机图像。