Как показать кнопку в конце Android ListView

Я хочу показать кнопку в конце представления списка Android. Как я могу достигнуть этого?

Я не хочу прикреплять его к нижнему использованию действия alignparentbottom="true". Используя layout_below не работает на меня также.

Мой текущий XML:

<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/main_bg">

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

        <ListView
            android:id="@+id/android:list"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:drawSelectorOnTop="false"
            android:cacheColorHint="#ff6a00"
            android:divider="#ff8f40"
            android:dividerHeight="1px" />

    </LinearLayout>

    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
            android:layout_height="50sp"
        android:background="#676767"
        android:orientation="vertical">

        <Button
            android:layout_width="100px"
            android:layout_height="wrap_content"
            android:id="@+id/btnGetMoreResults"
            android:layout_marginLeft="10px"
            android:text="Get more" />

    </RelativeLayout>

</RelativeLayout>
41
задан Pops 14 March 2012 в 22:20
поделиться

3 ответа

Вы можете использовать ListView # addFooterView () , чтобы добавить View внизу ListView .

74
ответ дан 27 November 2019 в 00:08
поделиться

Вы, конечно, можете использовать специальный адаптер и указать элемент нижнего колонтитула. Но вам, вероятно, также удастся разместить его внизу ScrollView и растянуть ListView по вертикали до содержимого:

<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/main_bg">

  <ScrollView
      android:layout_height="fill_parent"
      android:layout_width="fill_parent">

    <LinearLayout 
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
            >

      <ListView android:id="@+id/android:list"
          android:layout_width="fill_parent" 
          android:layout_height="wrap_content"
          android:drawSelectorOnTop="false" 
          android:cacheColorHint="#ff6a00"
          android:divider="#ff8f40"
          android:dividerHeight="1px"
          />

      <RelativeLayout 
          android:layout_width="fill_parent"
          android:layout_height="50sp"
          android:background="#676767"
          android:orientation="vertical">

        <Button android:layout_width="100px"
            android:layout_height="wrap_content"
            android:id="@+id/btnGetMoreResults"
            android:layout_marginLeft="10px"
            android:text="Get more" />

      </RelativeLayout>

    </LinearLayout>

  </ScrollView>

</RelativeLayout>
0
ответ дан 27 November 2019 в 00:08
поделиться

1 Если вы хотите добавить Button в качестве последнего элемента представления списка

Вы должны создать пользовательский ListAdapter для вашего ListView, который создаст представление с Button в методе getView. Вы должны решить, как вернуть ваше пользовательское представление для последнего элемента, вы можете жестко закодировать его (вернуть количество элементов +1 в методе getCount и вернуть пользовательское представление в getView, когда позиция > количества элементов) или вы можете добавить элемент в структуру, из которой вы будете брать данные (массив, курсор и т.д.). ) и проверить, имеет ли поле элемента определенное значение

2 Если вы хотите добавить элемент ниже представления списка

Вы должны использовать атрибут android:layout_width и сделать ListView и "пустой" TextView (вы должны использовать его, чтобы показать пользователям, что список пуст и рендеринг представления завершен) layout_weight больше, чем buttons layout_weight

Проверьте, как это сделано в Transdroids search Activity http://code.google.com/p/transdroid/source/browse/trunk/res/layout/search.xml

7
ответ дан 27 November 2019 в 00:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: