У меня есть прокручиваемый ListView с элементами (например, http://developer.android.com/resources/tutorials/views/hello-listview.html). Я использую ArrayAdapter
для элементов и использую его как параметр в setListAdapter
. Теперь я хотел бы добавить кнопку в нижней части экрана, которая не прокручивается вместе со списком. Может ли кто-нибудь дать мне несколько советов или опубликовать фрагмент кода, как это можно сделать?
Фиксированная кнопка ниже прокручиваемого ListView
Ответ 1
Если ваша активность расширяет ListActivity, вам нужно что-то вроде этого:
<LinearLayout android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ListView android:id="@android:id/list"
android:layout_height="0dip"
android:layout_width="match_parent"
android:layout_weight="1" />
<Button android:id="@+id/btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
Обратите внимание, что listview имеет layout_weight, равный 1. Это будет удерживать кнопку фиксированной на своем месте внизу. Надеюсь, это поможет. Удачи!
Ответ 2
вы можете использовать RelativeLayout, чтобы исправить кнопку в нижней части макета, и добавьте свой listView над ней следующим образом:
<RelativeLayout android:layout_width="match_parent"
android:layout_height="match_parent">
<Button android:id="@+id/btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"/>
<ListView
android:id="@android:id/list"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:layout_above="@id/btn" />
</RelativeLayout>
Ответ 3
Мое решение на основе решения Houcline , но ListView
всегда выше Button
<CheckBox
android:id="@+id/chbRemoveIfUninstall"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"/>
<ListView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_above="@id/chbRemoveIfUninstall"/>