ListView的Android布局,然后是屏幕底部的非滚动文本栏

时间:2009-12-03 16:44:40

标签: android listview layout textview

我在设置Android版面时遇到了问题。

喜欢的是一个可滚动的ListView,后跟一小段文本(TextView),它不会滚动并始终停留在屏幕的底部。

它看起来像这样:

ListViewItem1

ListViewItem2

ListViewItem3

...

文本栏(无论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>

5 个答案:

答案 0 :(得分:3)

使用RelativeLayout。使用TextViewandroid:layout_alignParentBottom="true"锚定到底部。让ListView填补其余部分。

或者,使用一个LinearLayout,将ListView的{​​{1}}设置为android:layout_height0px设置为android:layout_weight,{ {1}}作为1的孩子TextView之后。{/}

答案 1 :(得分:1)

使用android:layout_weight使listview填充静态文本未使用的页面的其余部分。

像这样:

<?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>

答案 2 :(得分:1)

实际上,听起来你真的想要使用footer,ListView已经拥有并完全按照你的描述进行操作。

答案 3 :(得分: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>

答案 4 :(得分: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>