android - 顶部和底部的 TextViews,剩余空间填充 ListView

标签 android listview layout textview android-relativelayout

我正在尝试使用剩余空间将一个 TextView 放在顶部,另一个放在底部,并在两者之间放置一个 ListView。 但是,我的 ListView 占用了底部的所有空间,使得最后一个 TextView 甚至都没有显示出来。我可以让它显示的唯一方法是给 ListView 一个固定的高度,比如 100dp。

我的布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    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=".MainActivity" >

    <TextView
        android:id="@+id/id_task_list_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/title_task_list"
        style="?android:attr/listSeparatorTextViewStyle" />

    <ListView
        android:id="@+id/id_task_list_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/id_task_list_title" />

    <TextView
        android:id="@+id/id_task_list_test"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/id_task_list_view"
        android:text="OMG Test" />

</RelativeLayout>

最佳答案

按如下方式使用LinearLayout:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:tools="http://schemas.android.com/tools"
                android:layout_width="fill_parent"
                android:layout_height="fill_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=".MainActivity"
                android:orientation="vertical">

    <TextView
            android:id="@+id/id_task_list_title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/title_task_list"
            style="?android:attr/listSeparatorTextViewStyle" />

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

    <TextView
            android:id="@+id/id_task_list_test"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="OMG Test" />

</LinearLayout>

关于android - 顶部和底部的 TextViews,剩余空间填充 ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19538921/

相关文章:

android - 单击按钮问题后在 EditText ListView 中获取文本内容

layout - 在Flutter中,如何使用FittedBox调整行内文本的大小?

wpf - 如何让网格为空白单元格绘制边框?

android - 亚行外壳错误 : app_process not found

android - Gradle无法构建应用

C# WPF - 如何使用 ListView 更改 'Preferences' 窗口的显示网格?

javascript - d3.js 包装气泡图元素

java - Android 工具栏设置背景颜色为半透明颜色

安卓服务类

java - 将 ListView 内的产品价格总和计算为字符串