El fondo Listview es gris en Droid 3
Tengo un listbox con un fondo de encargo. Muestra una delgada línea blanca en cada lado con un fondo negro. Funciona muy bien en todos mis teléfonos de prueba (Galaxy Captivate, Vibrant, Nexus 1, G Tablet, Archos 32, Droid). Acabo de conseguir un Droid 3 para probar, y en este teléfono, el fondo de la lista donde no hay elementos es gris. Los elementos de la lista tienen el fondo negro correcto.
Aquí está el diseño que contiene la vista de lista. El listview tiene un cuadro de texto de fondo blanco arriba y abajo, y el fondo para el listview es el drawable (sé que se llama una frontera tres, pero es sólo una frontera dos).
- (Android) Cómo llenar el fondo ListView y preservar la transparencia del encabezado
- Android: ¿Cómo puedo comprobar un elemento en particular en CheckView ListView?
- Lista de desplazamiento horizontal de Android
- Estilo de ListView de Android
- Android, ListView IllegalStateException: "El contenido del adaptador ha cambiado pero ListView no recibió una notificación"
<RelativeLayout android:layout_below="@id/divider01" android:layout_above="@id/save_current_button" android:id="@+id/profile_middle_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingTop="3dip" android:orientation="vertical"> <TextView android:id="@+id/user_profile_row" android:text="@string/user_profiles_label" android:layout_alignParentTop="true" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:textColor="@android:color/black" android:background="@drawable/roundedtop"/> <TextView android:id="@+id/current_profile_name" android:layout_alignParentBottom="true" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:textColor="#2B497B" android:background="@drawable/roundedbottom"/> <ListView android:id="@id/android:list" android:layout_below="@id/user_profile_row" android:layout_above="@id/current_profile_name" android:layout_width="fill_parent" android:layout_height="fill_parent" android:paddingLeft="3dip" android:paddingRight="3dip" android:drawSelectorOnTop="false" android:background="@drawable/three_side_border" android:cacheColorHint="#ffffffff"/> </RelativeLayout>
Aquí está el dibujable – esto debe forzar el fondo a negro.
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <shape android:shape="rectangle"> <solid android:color="#FFFFFFFF" /> </shape> </item> <item android:left="3dp" android:right="3dp"> <shape android:shape="rectangle"> <solid android:color="#FF000000" /> </shape> </item> </layer-list>
Me di cuenta de que en mi elemento de lista xml, no tengo la capa alfa especificada en mis colores, así que traté de quitar el FF principal en mi drawable, pero salió igual.
Alguien tiene alguna idea donde puedo buscar para arreglar esto? Se ve muy feo en un bonito teléfono.
Gracias, Greg
- AutoLink con evento onClick
- Android: el método i (String, String) no está definido para el tipo Log
- Enlaces y texto en el elemento de vista de lista
- El contenido del adaptador ha cambiado pero ListView no recibió una notificación - Con AsyncTask
- ¿Cómo diferenciar entre un fling y un toque?
- Resaltar texto buscado en elementos ListView
- Función de parada que llama en pestañas
- ¿Se desvanece en la parte inferior de una lista desplazable en Android?
Un amigo encontró un comentario en un foro de Motorola:
Motorola cambió los valores de los atributos de los temas incorporados en los dispositivos Moto con 2.3. "Si establece
overScrollFooter
en@null
, el fondo de la lista de fondo se vuelve transparente y su imagen de fondo se muestra a través …. Si desea un fondo de fondo de la lista, pero diferente, puede estableceroverScrollFooter
a un Color o dibujable … "
android:overScrollFooter="#aa000000" android:overScrollFooter="@drawable/my_drawable"
Todavía no estoy completamente seguro de lo que están haciendo al procesar este espacio, pero puedo hacerlo funcionar. Si utilizo la opción dibujable, y le doy mi dibujable con los bordes izquierdo y derecho, ese objeto se dibuja dentro del borde desde el fondo de vista de lista – es decir, de alguna manera sigue mostrando el primer elemento en mi fondo de dos capas dibujable, por lo que el El espacio debajo de mis artículos de la lista ahora tiene una frontera más ancha, pero es negro. Esto es al menos coherente con mi anterior prueba cuando cambié la primera capa a azul, y obtuvo una línea azul toda la altura de la lista. Si sólo voy con un negro recto #ff000000
, entonces el listview se ve igual que todos mis otros teléfonos. Así que no estoy seguro de cómo están calculando el espacio de pie de página – no veo cómo saben que tengo un objeto de dos capas y sólo estar reemplazando la segunda capa. Algo más debe estar pasando que no entiendo, pero funciona.
También hubo un comentario que tendría que seleccionar un tema basado en la versión de Android, pero hasta ahora en mis pruebas todas las plataformas tomar la nueva etiqueta sin quejarse.