ListView: selectores dibujables dibujados en diferentes tamaños
Estoy usando un selector ListView personalizado. Todo funciona bien, excepto que los drawables para state_focused y state_pressed se dibujan más grande que el estado normal.
En lugar de la implementación predeterminada, que utiliza mapas de bits de 9 parches, estoy usando ShapeDrawables. Todos ellos usan los mismos valores de relleno (ver más abajo) Parece que están sobrescritos por otros valores. Probablemente un tema? No lo encontré.
- Cómo agregar varias vistas de encabezado en un ListView
- Deslice ListView de lado como en la nueva aplicación de GMail
- Cómo configurar el icono de Disposición de cajones en el lado derecho de la pantalla del dispositivo?
- ListFragment OnListItemClick no se llama
- Android ListView con CursorAdapter tiene la posición de desplazamiento incorrecta después de Requery se llama cuando se agregan nuevos elementos
Vista de la lista
<ListView style="@style/dark_bg_style" android:id="@android:id/list" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_margin="10dp" android:layout_centerInParent="true" android:drawSelectorOnTop="false" android:cacheColorHint="#00000000" android:layoutAnimation="@anim/list_layout_in" android:scrollbars="none" android:divider="#00000000" android:dividerHeight="5dp" android:listSelector="@drawable/list_sel" />
List_sel.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@android:color/transparent" android:state_window_focused="false"/> <item android:drawable="@drawable/button_bg_pressed" android:state_pressed="true"/> <item android:drawable="@drawable/button_bg_focused" android:state_focused="true" android:state_selected="true"/> <item android:drawable="@drawable/button_bg_focused" android:state_focused="true"/> </selector>
Extracto del diseño del elemento de lista
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/menu_sel" > ...
Menu_sel.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@android:color/transparent" android:state_focused="true" android:state_selected="true"/> <item android:drawable="@android:color/transparent" android:state_selected="true"/> <item android:drawable="@android:color/transparent" android:state_pressed="true"/> <item android:drawable="@drawable/button_bg_normal"/> </selector>
Button_bg_normal.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#44C8C8C8" /> <corners android:radius="5sp" /> <padding android:left="10dip" android:top="5dip" android:right="10dip" android:bottom="5dip" /> </shape>
Button_bg_pressed.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#77C8C8C8" /> <corners android:radius="5sp" /> <padding android:left="10dip" android:top="5dip" android:right="10dip" android:bottom="5dip" /> </shape>
Button_bg_focused.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#44C8C8C8" /> <corners android:radius="5sp" /> <stroke android:color="#55FFFFFF" android:width="1dip" /> <padding android:left="10dip" android:top="5dip" android:right="10dip" android:bottom="5dip" /> </shape>
- Vaciar ListView dentro de ScrollView como dos Fragmentos
- Mostrar / ocultar la vista de lista
- Cambiar el color de fondo del primer elemento en ListView
- ¿Cómo enviar datos de un Fragmento a otro Fragmento?
- Android: Eliminación de elementos de una actividad ListView / ArrayAdapter
- Android Espresso ListView haga clic en el elemento
- Cambiar dinámicamente el color de (Elemento de lista) TextView en Listview
- Fuerza onSizeChanged para ListView
Cuando se trabaja con ListView
s, es mejor establecer los estados de fondo como el android:listSelector
. En su código, hay una contienda entre los estados en android:listSelector
y el android:background
especificado para la fila individual.
- Scala Android AsyncTask no llamará a la devolución de llamada publishProgress, "onProgressUpdate"
- Android: leer "atributo de dispositivo" falla con error "longitud no válida"