Подтвердить что ты не робот

Фиксированная кнопка ниже прокручиваемого ListView

У меня есть прокручиваемый ListView с элементами (например, http://developer.android.com/resources/tutorials/views/hello-listview.html). Я использую ArrayAdapter для элементов и использую его как параметр в setListAdapter. Теперь я хотел бы добавить кнопку в нижней части экрана, которая не прокручивается вместе со списком. Может ли кто-нибудь дать мне несколько советов или опубликовать фрагмент кода, как это можно сделать?

4b9b3361

Ответ 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"/>