3

我有一个白色背景的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>

...和许多其他线性布局,都以编程方式设置为“GONE”。

任何人都可以建议修复吗?我不明白为什么那个白色部分占用的空间如此之小。

4

3 回答 3

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>
于 2013-10-23T05:48:57.670 回答
1

这也可能是因为设备大小。我绝对建议使用线性布局的权重。这应该使它在所有设备上都完美,无论是平板电脑还是手机。

如果您需要更多指导,或者您对体重有任何问题,请告诉我。

于 2013-10-23T05:39:44.920 回答
1

在第二个线性布局中设置高度。现在它被设置为包装内容..喜欢

    <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>
于 2013-10-23T05:37:26.373 回答