Разметка Android для ListView с последующей полосой прокрутки текста внизу экрана - PullRequest
2 голосов
/ 03 декабря 2009

У меня проблемы с настройкой Android Layout.

То, что я хотел бы , это прокручиваемый 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 ]

3 голосов
/ 03 декабря 2009

Используйте RelativeLayout. Прикрепите TextView к основанию, используя android:layout_alignParentBottom="true". Пусть ListView заполнит остаток.

Или используйте один LinearLayout, задав для ListView 'android:layout_height значение 0px и android:layout_weight значение 1, а TextView после ListView в качестве потомков LinearLayout.

1 голос
/ 04 июня 2010

На самом деле, звучит так, будто вы хотите использовать нижний колонтитул , который ListView уже имеет и делает именно то, что вы описываете.

1 голос
/ 05 января 2010

Используйте 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>
0 голосов
/ 28 июня 2014

Попробуйте это:

Надеюсь, это поможет:

<?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 голосов
/ 12 июля 2011

На основании ответа @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>
...