2

我在设置 Android 布局时遇到问题。

我想要是一个可滚动的 ListView,后跟一个不滚动且始终停留在屏幕底部的小文本栏 (TextView)。

它看起来像这样:

ListViewItem1

ListViewItem2

ListViewItem3

…</p>

此处的文本栏(始终显示,无论 ListView 的滚动状态如何)

我对此尝试了很多不同的变体,但没有一个显示静态文本

关于我要去哪里错的任何想法?

TKS!

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout android:orientation="vertical"
        android:layout_width="fill_parent" android:layout_height="wrap_content">
        <ListView android:id="@+id/list2" android:layout_width="fill_parent"
            android:layout_height="fill_parent" />
    </LinearLayout>
    <TextView android:layout_width="fill_parent"
        android:layout_height="50dip" android:text="Bar of text that always stays at the bottom of the screen" />
</LinearLayout>
4

5 回答 5

3

使用RelativeLayout. 使用 将锚定TextView到底部android:layout_alignParentBottom="true"ListView把剩下的填满。

或者,使用单个LinearLayout,将ListView's设置android:layout_height0pxandroid:layout_weightto 1,然后将TextViewListView作为LinearLayout.

于 2009-12-03T17:51:02.887 回答
1

使用 android:layout_weight 使您的列表视图填充静态文本未使用的页面的其余部分。

像这样:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout android:orientation="vertical"
        android:layout_width="fill_parent" android:layout_height="wrap_content">
        <ListView android:id="@+id/list2" android:layout_width="fill_parent"
                android:layout_height="wrap_content" android:layout_weight="1"/><!-- here's the important part-->
    </LinearLayout>
    <TextView android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:text="Bar of text that always stays at the bottom of the screen" />
</LinearLayout>
于 2010-01-04T21:23:17.547 回答
1

实际上,听起来您确实想使用一个footer, ListView 已经拥有并且完全按照您的描述进行操作。

于 2010-06-04T18:18:51.900 回答
0

试试这个:

希望能帮助到你:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="420dp"
        android:id="@+id/rel">
        <ListView
            android:id="@+id/list2"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"/>
    </RelativeLayout>
    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/rel"
        android:layout_alignParentBottom="true">
        <TextView
            android:layout_width="fill_parent"
            android:layout_height="50dip"
            android:text="Bar of text that always stays at the bottom of the screen" />
    </RelativeLayout>
</RelativeLayout>
于 2014-06-28T11:38:16.247 回答
0

基于@CommonsWare 答案:

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

    <ListView android:id="@+id/actionsListView" 
        android:layout_height="0px" 
        android:layout_width="fill_parent"
        android:layout_weight="1"
        android:transcriptMode="alwaysScroll"/>    

    <TextView android:text="" 
        android:id="@+id/progressTextLabel" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:singleLine="true"/>

</LinearLayout>
于 2011-07-12T06:47:29.687 回答