ListView下面的线性布局,有些部分不可见?

时间:2016-11-10 10:37:52

标签: android xml android-layout listview android-linearlayout

我对列表视图下方的LinearLayout有问题。我试着给上面的listview重量和布局,将layout_height设置为0dp,但没有任何东西。

这是我的XML代码:

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

    <LinearLayout android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:weightSum="100"
        android:background="#00c4ff">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Application № - "
            android:layout_weight="50"/>
        <TextView
            android:id="@+id/number"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="__"
            android:layout_weight="20" />
        <EditText
            android:id="@+id/date"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:inputType="date"
            android:hint="dd/mm/yyyy"
            android:layout_weight="30"
            />
        </LinearLayout>

            <ListView
                android:id="@+id/lvMain"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
            </ListView>


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:gravity="bottom"
        android:id="@+id/ll">
        <Button
            android:id="@+id/plus"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Add"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/comment"
            android:inputType="text"
            android:hint="Comment" />
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal"
            android:gravity="bottom">
            <Button
                android:id="@+id/send"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Send" />
            <Button
                android:id="@+id/close"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Save and close"/>
        </LinearLayout>

    </LinearLayout>


</LinearLayout>

当ListView填满屏幕时,我看不到它下面的按钮。

5 个答案:

答案 0 :(得分:1)

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

    <LinearLayout 
android:id="@+id/topLayout"
android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
android:alignParentTop="true"
        android:weightSum="100"
        android:background="#00c4ff">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Application № - "
            android:layout_weight="50"/>
        <TextView
            android:id="@+id/number"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="__"
            android:layout_weight="20" />
        <EditText
            android:id="@+id/date"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:inputType="date"
            android:hint="dd/mm/yyyy"
            android:layout_weight="30"
            />
        </LinearLayout>

    <LinearLayout
android:id="@+id/bottomLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:gravity="bottom"
android:alignParentBottom="true"
        android:id="@+id/ll">
        <Button
            android:id="@+id/plus"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Add"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/comment"
            android:inputType="text"
            android:hint="Comment" />
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal"
            android:gravity="bottom">
            <Button
                android:id="@+id/send"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Send" />
            <Button
                android:id="@+id/close"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Save and close"/>
        </LinearLayout>

    </LinearLayout>

            <ListView
                android:id="@+id/lvMain"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
android:layout_below="@+id/topLayout"
android:layout_above="@+id/bottomLayout">
            </ListView>

</RelativeLayout>

编辑了您的代码。试试这个。

此处我使用了RelativeLayout,因此我们使用android:alignParentBottom="true"进行底部布局,使布局在底部进行修复。我们可以使用android:alignParentBottom="true"进行顶层布局。现在来到ListView,我们需要在顶部和底部布局之间放置我使用以下代码来实现它

    android:layout_below="@+id/topLayout"
    android:layout_above="@+id/bottomLayout"

这使得ListView会粘在顶部和底部布局之间。

希望这有用:)

答案 1 :(得分:1)

通过添加布局权重来编辑您的布局。请检查。

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

    <LinearLayout android:orientation="horizontal"
                  android:layout_width="match_parent"
                  android:layout_height="0dp"
                  android:layout_weight="0.1"
                  android:weightSum="100"
                  android:background="#00c4ff">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Application № - "
            android:layout_weight="50"/>
        <TextView
            android:id="@+id/number"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="__"
            android:layout_weight="20" />
        <EditText
            android:id="@+id/date"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:inputType="date"
            android:hint="dd/mm/yyyy"
            android:layout_weight="30"
            />
    </LinearLayout>

    <ListView
        android:id="@+id/lvMain"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.6">
    </ListView>


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:orientation="vertical"
        android:layout_weight="0.3"
        android:gravity="bottom"
        android:id="@+id/ll">
        <Button
            android:id="@+id/plus"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Add"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/comment"
            android:inputType="text"
            android:hint="Comment" />
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal"
            android:gravity="bottom">
            <Button
                android:id="@+id/send"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Send" />
            <Button
                android:id="@+id/close"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Save and close"/>
        </LinearLayout>

    </LinearLayout>


</LinearLayout>

答案 2 :(得分:1)

您应该尝试使用具有权重的布局列表视图。

示例代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

 <LinearLayout android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.3"
       />

<LinearLayout android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.4"
      >
 <ListView
                android:id="@+id/lvMain"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
            </ListView>
</LinearLayout>

<LinearLayout android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.3"
       />

</LinearLayout>

在这里你的高度固定为listview。假设您可以将列表视图用作特定高度的可滚动。

答案 3 :(得分:1)

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

    <LinearLayout android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:weightSum="100"
        android:background="#00c4ff">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Application № - "
            android:layout_weight="50"/>
        <TextView
            android:id="@+id/number"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="__"
            android:layout_weight="20" />
        <EditText
            android:id="@+id/date"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:inputType="date"
            android:hint="dd/mm/yyyy"
            android:layout_weight="30" />
    </LinearLayout>

    <ListView
        android:id="@+id/lvMain"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="90">
    </ListView>


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="10"
        android:orientation="vertical"
        android:gravity="bottom"
        android:id="@+id/ll">
        <Button
            android:id="@+id/plus"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Add"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/comment"
            android:inputType="text"
            android:hint="Comment" />
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal"
            android:gravity="bottom">
            <Button
                android:id="@+id/send"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Send" />
            <Button
                android:id="@+id/close"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Save and close"/>
        </LinearLayout>

    </LinearLayout>


</LinearLayout>

答案 4 :(得分:0)

更改如下

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

    <LinearLayout android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#00c4ff">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Application № - "
            android:layout_weight="50"/>
        <TextView
            android:id="@+id/number"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="__"
            android:layout_weight="20" />
        <EditText
            android:id="@+id/date"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:inputType="date"
            android:hint="dd/mm/yyyy"
            android:layout_weight="30"
            />
    </LinearLayout>

    <ListView
        android:id="@+id/lvMain"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">
    </ListView>


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:gravity="bottom"
        android:id="@+id/ll">
        <Button
            android:id="@+id/plus"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Add"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:id="@+id/comment"
            android:inputType="text"
            android:hint="Comment" />
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:gravity="bottom">
            <Button
                android:id="@+id/send"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Send" />
            <Button
                android:id="@+id/close"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Save and close"/>
        </LinearLayout>

    </LinearLayout>


</LinearLayout>