Botón bajo ListView no visible en android

Estoy trabajando en algún ListView Quiero mostrar un Button debajo de él Estoy usando el código siguiente pero eso no está trabajando.

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <ListView android:id="@android:id/list" android:layout_width="fill_parent" android:layout_height="wrap_content" android:cacheColorHint="#00000000" android:drawSelectorOnTop="false" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" /> </LinearLayout> 

El botón no es visible, no sé por qué: /. Cualquier ayuda será consideraciones útiles.

La vista de lista toma la página completa. Trate de dar el peso deseado a los elementos de su código. Utilice este código,

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ListView android:id="@android:id/list" android:layout_width="fill_parent" android:layout_height="wrap_content" android:cacheColorHint="#00000000" android:drawSelectorOnTop="false" android:weight="5" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" android:weight="1" /> </LinearLayout> 

Esto sucede porque ListView tiene la altura establecida en wrap_content , lo que hace que se extienda para acomodar todos los elementos que no dejan espacio en la pantalla para el botón. Puede utilizar la configuración relativa que establece el botón a lo largo de la parte inferior y luego la vista de lista para ocupar el espacio restante:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" android:layout_alignParentBottom="true" /> <ListView android:id="@android:id/list" android:layout_width="fill_parent" android:layout_height="fill_parent" android:cacheColorHint="#00000000" android:drawSelectorOnTop="false" android:layout_above="@id/button1" /> </RelativeLayout> 

He añadido esta línea ………….. android: weight = "1" ………. dentro de la vista de lista como abajo

  <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <ListView android:id="@android:id/list" android:layout_width="fill_parent" android:layout_height="wrap_content" android:cacheColorHint="#00000000" android:drawSelectorOnTop="false" android:weight="1" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" /> </LinearLayout> 

Para esto el botón y el listview deben estar en un mismo lineal, si todas las vistas están en la disposición relativa, agregan el listview y el botón a una disposición linear y dan el peso de la lista como 1, esto trabajó para mí.

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_shipping_address" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/background_all" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.reallymake.android.pottery.ShippingAddressActivity"> <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/textView9" android:layout_centerHorizontal="true" android:layout_marginTop="13dp" android:background="@drawable/button_shape" android:text="@string/ok" /> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@+id/btn_add_new_address" android:orientation="vertical"> <ListView android:id="@+id/lv_addresses" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_below="@+id/list" android:layout_marginTop="14dp" android:layout_weight="1" /> <Button android:id="@+id/btn2" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/lv_addresses" android:layout_marginTop="14dp" android:background="@drawable/button_shape" android:text="@string/proceed" /> </LinearLayout> 

Añadir peso o alinear el fondo hará que el botón flote en la parte inferior de la pantalla siempre. Y la lista irá debajo de ella.

Si desea mostrar el botón después de desplazarse por la lista, a continuación, agregue el botón como un pie de página a la vista de lista.

  • Android LinearLayout divisor, pero el porcentaje?
  • Utilice símbolo especial (<,>) en diseño de diseño en Android
  • Pregunta teórica: cargar el archivo XML-Layout externo en Android
  • TypedArray no funciona
  • Android ListView con botón no es seleccionable (clicable)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.