Android ListActivity - как добавить представление под ListView? - PullRequest
9 голосов
/ 31 мая 2011

Я пытаюсь поместить представление ProgressBar под ListView для ListActivity. Я хочу, чтобы он всегда был ниже последней строки в listView.

ProgressBar, помещенный в LinearLayout, действительно появляется, если список (который заполняется адаптером во время выполнения) не выходит за пределы экрана. Как только список становится больше экрана, индикатор ProgressBar перестает отображаться.

XML-макет выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/db1_root"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">

<!-- Title bar -->
<LinearLayout
    style="@style/TitleBar" >
    <TextView
        style="@style/TitleBarText"
        android:text="Some title text" />
    <ImageButton
        style="@style/TitleBarAction"
        android:contentDescription="@string/description_search"
        android:src="@drawable/title_search" />
</LinearLayout>

<!--  Content -->
<LinearLayout
    android:layout_height="wrap_content"
    android:layout_width="fill_parent" >

    <ListView
        android:divider="@drawable/category_item_divider"
        android:dividerHeight="@dimen/list_divider_height"
        android:layout_height="wrap_content"
        android:id="@+id/android:list"
        android:layout_width="fill_parent"
        android:layout_weight="1" />        
    <TextView
        android:id="@+id/android:empty"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:text="@string/category_no_items" />                 
</LinearLayout>     

<!--  Progress bar -->
<LinearLayout
    android:layout_height="wrap_content"
    android:layout_width="wrap_content" >

    <ProgressBar
        android:id="@+id/productlist_progressbar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout> 

</LinearLayout>

Разве это невозможно с LinearLayout? Любая помощь приветствуется.

1 Ответ

12 голосов
/ 31 мая 2011

Вы должны добавить нижний колонтитул, используя:

list.addFooterView(footerView);

или делайте это вручную, но затем подумайте об использовании относительных макетов, они гораздо более мощные, чем линейные макеты. А затем поместите нижний колонтитул под списком или, что еще лучше, поместите список и пустой вид выше нижнего колонтитула.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...