La vista de lista de Android enruta contenido hasta un tamaño determinado basado en el tamaño de pie de página

Estoy trabajando en una aplicación de Android.

En un diseño XML, necesito hacer lo siguiente:

Tengo una vista de lista en la parte superior (listViewProducts), y otra vista relativa bajo él (receiptSection).

La vista de lista debe tener tanto espacio como tiene elementos. Y el resto es tomado por la sección receiveSection.

Por ejemplo, si tengo 2 elementos en el listViewProducts:

Primera imagen

La vista de lista es tan grande como los 2 elementos y el resto es tomado por el receiptView.

Si agrego otro elemento, la vista de lista ahora ocupa más espacio y empuja el reciboVer inferior:

Introduzca aquí la descripción de la imagen

Sin embargo, si agrego muchos más elementos, quiero que la altura de la vista de lista deje de crecer para dejar una altura mínima para el receiptView que no puede ir más pequeño:

Introduzca aquí la descripción de la imagen

Como se ve en la imagen, el reciboVIew tiene una altura mínima de 50dp. Una vez que la vista de recibo alcance esa altura, debería dejar de encogerse y ahora la vista de lista tiene un tamaño fijo basado en el resto del espacio. El resto será desplazable.

Lo que he intentado

He creado una vista de lista. Tengo android:layout_alignParentTop="true" y android:layout_height="wrap_content" .

Esto hará que crezca con su contenido y su en la parte superior de la vista

 <ListView android:id="@+id/listViewProducts" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" > </ListView> 

Entonces he creado un RelativeLayout que celebrará el checkout_receipt_view que se encuentra en un archivo de diseño xml separado.

Para esta vista tengo android:layout_alignParentBottom="true" y android:layout_below="@id/listViewProducts" que lo hará pasar bajo la vista de lista y alinear con la parte inferior de la vista.

También usé android:minHeight="50d" con el fin de establecer la altura mínima de la receipSection.

 <RelativeLayout android:id="@+id/receiptSection" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentBottom="true" android:layout_below="@id/listViewProducts" android:minHeight="50dp" > <include layout="@layout/checkout_receipt_view" /> </RelativeLayout> 

El listViewProducts está creciendo con los elementos, y el receiptView está tomando el espacio restante correctamente.

El problema sin embargo la altura mínima no funcionó. La vista de lista continúa creciendo infinitamente y la sección ReceiveSection será expulsada de la vista.

¿Hay una manera que puedo hacer que el listView deje de crecer cuando el receiptView alcanza 50dp?

Muchas gracias por cualquier ayuda.

One Solution collect form web for “La vista de lista de Android enruta contenido hasta un tamaño determinado basado en el tamaño de pie de página”

Intente cambiar el 'layout_below'.

Lo que usted está diciendo realmente es el siguiente: ponga por favor mi relativelayout ABAJO del listview. Si quieres que tu listview respete la altura del relativelayout, tendrás que decir en el listview:

  <ListView android:id="@+id/listViewProducts" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_above="@+id/receiptSection" android:layout_alignParentTop="true" > </ListView> 

Y tu relativelayout:

 <RelativeLayout android:id="@+id/receiptSection" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentBottom="true" android:minHeight="50dp" > <include layout="@layout/checkout_receipt_view" /> </RelativeLayout> 
  • "No se pudo encontrar la clase 'android.support.v4.app.FragmentActivity'" Error
  • Android: java.lang.Throwable: setStateLocked
  • ¿Una clave API de Google Maps caduca después de un tiempo determinado?
  • Error en la verificación de la firma de Android LVL
  • ¿Cuál es la mejor manera de mantener el adaptador como una clase interna de actividad o fuera?
  • Cómo sólo permitir números positivos en un EditText
  • ¿Cuál es la diferencia entre `opencv.android.JavaCameraView` y` opencv.android.NativeCameraView`
  • LibGDX y ScrollPane con múltiples widgets
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.