我有一个带有白色背景的LinearLayout,里面装满了一堆LinearLayouts和RelativeLayouts。我试图将父布局设置为具有最小高度,但它似乎仍然包含在内容中。
这是现在的样子。空白区域的最小高度应该大于现在的最小高度。
以下是我认为xml的相关部分:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/contactViewScrollView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ABABAB" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="300dip"
android:background="#FFFFFF"
android:orientation="vertical" >
<RelativeLayout
android:id="@+id/contactHeader"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#EDEDED"
android:paddingLeft="10dp" >
<TextView
android:id="@+id/fullName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="175dip"
android:paddingTop="5dp"
android:textSize="18sp" />
<View
android:layout_width="1dp"
android:layout_height="90dp"
android:layout_toLeftOf="@+id/image"
android:background="#000000" />
<ImageView
android:id="@+id/image"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_alignParentRight="true"
android:background="#D6D6D6"
android:contentDescription="@string/contact_image_description"
android:scaleType="centerCrop" />
</RelativeLayout>
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="#000000" />
<LinearLayout
android:id="@+id/mobile"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingLeft="10dp" >
<TextView
android:id="@+id/mobilePhoneHeading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="15dp"
android:text="@string/mobile_phone"
android:textColor="#787878" />
<TextView
android:id="@+id/mobilePhone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="10dp"
android:paddingTop="2dp"
android:textSize="18sp" />
</LinearLayout>
...以及许多其他LinearLayouts,都以编程方式设置为'GONE'。
有人可以建议修复吗?我无法弄清楚为什么白色部分占据的空间如此之小。
答案 0 :(得分:3)
// try this
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/contactViewScrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ABABAB" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="300dp"
android:background="#FFFFFF"
android:orientation="vertical" >
<RelativeLayout
android:id="@+id/contactHeader"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#EDEDED"
android:paddingLeft="10dp" >
<TextView
android:id="@+id/fullName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="175dp"
android:paddingTop="5dp"
android:textSize="18sp" />
<View
android:layout_width="1dp"
android:layout_height="90dp"
android:layout_toLeftOf="@id/image"
android:background="#000000" />
<ImageView
android:id="@+id/image"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_alignParentRight="true"
android:background="#D6D6D6"
android:contentDescription="contact_image_description"
android:scaleType="centerCrop" />
</RelativeLayout>
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="#000000" />
<LinearLayout
android:id="@+id/mobile"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingLeft="10dp" >
<TextView
android:id="@+id/mobilePhoneHeading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="15dp"
android:text="mobile_phone"
android:textColor="#787878" />
<TextView
android:id="@+id/mobilePhone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="10dp"
android:paddingTop="2dp"
android:textSize="18sp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</ScrollView>
答案 1 :(得分:1)
在第二个linearlayout中设置高度。现在它被设置为包装内容..喜欢
<LinearLayout
android:id="@+id/mobile"
android:layout_width="match_parent"
android:layout_height="50dp" //for example
android:orientation="vertical"
android:paddingLeft="10dp" >
<TextView
android:id="@+id/mobilePhoneHeading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="15dp"
android:text="@string/mobile_phone"
android:textColor="#787878" />
<TextView
android:id="@+id/mobilePhone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="10dp"
android:paddingTop="2dp"
android:textSize="18sp" />
</LinearLayout>
答案 2 :(得分:1)
也可能是因为设备尺寸太大。我肯定建议使用线性布局的重量。无论是平板电脑还是手机,这都应该能够在所有设备上完美呈现。
如果您需要更多指导,或者您有任何体重问题,请告诉我们。