ScrollView垂直占用所有空间

时间:2017-03-23 23:29:41

标签: android

我使用此LinearLayout创建具有标题,复选框列表和底部按钮的对话框。许多CheckBox都需要ScrollView。不幸的是ScrollView占用了所有空间,我无法看到按钮部分。

如果我获得大量列表,是否有任何解决方案可以使最后一个LinearLayout可见? 感谢。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:lht="http://schemas.android.com/apk/res-auto"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:padding="10dp"
        android:text="@string/header_text" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:orientation="horizontal">

        <ScrollView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">

                <Checkbox ....>
                <Checkbox ....>
                <Checkbox ....>
                <Checkbox ....>

            </LinearLayout>
        </ScrollView>

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_marginRight="10dp"
            android:layout_marginEnd="10dp"
            android:padding="5dp" />
    </LinearLayout>

    <LinearLayout
        android:layout_alignParentBottom="true"
        android:layout_width="match_parent"
        android:layout_height="56dp"
        android:layout_marginTop="20dp"
        android:layout_gravity="bottom"
        android:orientation="vertical">

        <Button ....>
        <Button ....>

    </LinearLayout>

</LinearLayout>

1 个答案:

答案 0 :(得分:0)

问题可能出现在TextView下面的LinearLayout中:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:orientation="horizontal">

您已将高度设置为&#34; wrap_content&#34;。试着去做#34; 0dp&#34;然后权重为&#34; 1&#34;:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:orientation="horizontal">