RelativeLayout中的ListView填充整个高度

时间:2017-05-31 19:34:03

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

我有一个主要的相对布局,其中有一个ListView和另一个Horizo​​ntal LinearLayout,我想放在屏幕的底部。 当列表视图中的项目填满屏幕时,它将隐藏在“水平线性”布局下。 如何限制ListView仅占用空间直到Horozontal线性布局并停止隐藏列表视图的内容。

感谢您的帮助和建议。

这是我的布局和屏幕截图。

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_chat_window"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.raoburugula.speech_soft_ivr.ChatWindow">
            <ListView
                android:id="@+id/lvMessages"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:divider="@android:color/transparent"
                android:dividerHeight="5dp"
                />

    <LinearLayout
        android:id="@+id/llAction"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_alignParentBottom="true"
        android:weightSum="5"
        android:visibility="invisible">
        <EditText
            android:id="@+id/etMessage"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="4"/>

        <android.support.design.widget.FloatingActionButton
            android:id="@+id/btnSendMessage"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:src="@drawable/ic_send"
            android:tint="@android:color/white"
            android:onClick="sendMessage"
             />
    </LinearLayout>
</RelativeLayout>

enter image description here

2 个答案:

答案 0 :(得分:0)

我会从LinearLayout中删除android:visibility="invisible"行。并检查它是如何工作的。我也有一次从下往上构建我的布局,允许我在屏幕底部放置2个按钮,事后我可能不需要。我无法对你的帖子发表评论,所以我把它作为答案。

您是否尝试过普通按钮代替FAB(FloatingActionButton)? FAB可能具有使其可见的属性,并且无论其父属性如何都位于右下角

答案 1 :(得分:0)

您将水平linearlayout对齐父级的底部,是;

并且您必须将listView设置在水平线性布局上方。