Establecer color del área 'vacío' de ListView en Android
Cuando mi vista de lista no está completamente llena de elementos de vista de lista (la vista de mi lista es lo suficientemente alta para 8 elementos, pero sólo tengo 2), el área vacía aparece como gris en mi Droid X. En el emulador el área vacía muestra Hasta como negro.
¿Cómo establezco el área 'vacía' a transparente?
- Los datos del adaptador RecycleView aparecen erróneos al desplazarse demasiado rápido
- ¿Cómo filtrar el texto de un Android ListView respaldado por un SimpleCursorAdapter?
- Rendimiento lento en la vista de lista
- Desplazamiento en listview con altura de celda diferente
- Desplazamiento con varios ListViews para Android
He intentado establecer el color de fondo, pistas de caché, pero sólo parecen cambiar el color de fondo de la lista donde tiene elementos, no el área vacía.
- Android Listview - no puede seleccionar varios elementos cuando usa un cursor
- Swipeleft para eliminar no funciona en la altura expandible listview
- Android ListView con el encabezado complejo
- ¿Por qué mi clase BaseAdapter no incrementa la posición en getView?
- Cambiar el fondo ListView - comportamiento extraño
- Match_parent no funciona para ListView, si ListView está dentro de NestedScrollView
- ¿Es posible usar inflador de vista para inflar artículos individuales?
- Adaptador de ListView personalizado lanza UnsupportedOperationException
Motorola solía tener una entrada de blog sobre este comportamiento, pero su blog ya no está en línea – la respuesta es que en Motoblur 2.3, se establece un pie de página predeterminado overscroll, que es fijable mediante la configuración de android:overScrollFooter="@null"
Pero sólo para Android 2.3 o superior.
Su solución recomendada para toda la aplicación es usar un tema personalizado con un listViewStyle
personalizado configurado sólo en la carpeta values-v10
con ese conjunto de propiedades.
Solución programática para el error MotoBlur:
if (Build.VERSION.SDK_INT >= 8 && Build.VERSION.SDK_INT <= 10) { mListView.setOverscrollFooter(null); }
Parece que la eliminación de layout_alignParentBottom = "true" hizo el truco. Así que en lugar de cambiar el color gris, la vista de lista sólo es lo suficientemente grande para dibujar los elementos necesarios.
Eliminar layout_alignParentBottom="true"
y cambiar height="wrap_content"
no es suficiente. Estas soluciones funcionan si no hay otros widgets en la parte inferior de la pantalla o por debajo de ListView.
Sin embargo, si hay otros elementos de diseño debajo de ListView, debe insertar el ListView en otro diseño, como un LinearLayout, para que el contenedor pueda tener la altura necesaria ( fill_parent
) mientras que el ListView dentro puede permitirse encogerse ( wrap_content
) de manera que el fondo gris debajo de ListView no se visualice por el comportamiento modificado del pie de página de Motorola OS v2.3.3.
Aquí hay un ejemplo: Vista de lista de fondo de pie de página en Android 2.3.3
- Obtener la actividad actual de Application.Context – MonoAndroid
- Cómo crear una miniatura de vídeo desde la ruta del archivo de vídeo en Android