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?
- Android: ¿Cómo hacer que RadioGroup funcione correctamente en un ListView?
- Cómo mostrar un texto "Cargando ..." mientras recupera elementos para un ListView
- ¿Hay una manera de mantener los divisores alrededor de una preferencia no seleccionable?
- Altura dinámica para la fila ListView en android
- Cómo cambiar el color de texto de un elemento ListView?
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.
- Cómo deshabilitar o no mostrar ningún encabezado para StickyListHeaders de emilsjolander
- Ajustar la posición personalizada checkMark dentro de CheckedTextView
- Problema de carga de la vista de lista de Android
- Cómo eliminar listview todos los elementos
- No se puede agregar la vista de encabezado a la lista - setAdapter ya se ha llamado
- Seleccionar todas las filas y deseleccionar todas las filas en listview
- Reciclar vistas en un listview, vale la pena?
- ¿Hay una manera de desactivar / editar el desvanecimiento que una vista de lista tiene en sus bordes?
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