开发者

Android layout for ListView followed by non-scrolling bar of text at bottom of screen

I'm having trouble setting up an Android Layout.

What I would like is a 开发者_开发问答scrollable ListView followed by a small bar of text (TextView) that doesn't scroll and always stays at the bottom of the screen.

it would look like this:

ListViewItem1

ListViewItem2

ListViewItem3

Bar of Text Here (always displayed irrespective of scroll state of the ListView)

I've tried a bunch of different variations on this, but none shows the static text

Any thoughts as to where I'm going wrong?

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>


Use a RelativeLayout. Anchor the TextView to the bottom using android:layout_alignParentBottom="true". Have the ListView fill the remainder.

Or, use a single LinearLayout, setting the ListView's android:layout_height to 0px and android:layout_weight to 1, and the TextView following the ListView as children of the LinearLayout.


Use android:layout_weight to make your listview fill the remainder of the page not used by the static text.

like so:

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


Actually, it really sounds like you want to be using a footer, which ListView already has and does exactly what you describe.


Based on @CommonsWare answer:

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


Try this one:

Hope it helps:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜