Próbuję umieścić widoku ProgressBar poniżej ListView dla ListActivity. Chcę, aby zawsze był poniżej ostatniego wiersza w listView.
Pasek postępu, który jest umieszczony wLinearLayout, pojawia się, dopóki lista (wypełniona przez adapter w czasie wykonywania) nie przekracza ekranu. Gdy lista jest większa niż ekran, pasek postępu nie jest już widoczny.
Układ xml wygląda następująco:
<?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>
Czy nie jest to możliwe z LinearLayout? Każda pomoc doceniona.
Odpowiedzi:
12 dla odpowiedzi № 1Powinieneś dodać stopkę używając:
list.addFooterView(footerView);
albo robiąc to ręcznie, ale następnie rozważając użycie względnych układów, istnieje o wiele więcej potężnych niż układy liniowe. A następnie umieść stopkę poniżej listy, lub lepiej, umieść listę i twój pusty widok nad stopą.