recyclerview - listview desplegable android studio
Color del selector ListView de Android (2)
PARA AGREGAR: la respuesta de @Christopher no funciona en la API 7/8 (según el comentario correcto de @Jonny) SI está usando colores, en lugar de los dibujables. (En mis pruebas, el uso de herramientas deslizables según Christopher funciona bien)
Aquí está el FIX para 2.3 y debajo al usar colores:
- Android: Toda ListView cambia el color en el foco, no solo el elemento hijo ListView
Según @Charles Harley, hay un error en 2.3 y más abajo donde llenar el elemento de la lista con un color hace que el color fluya sobre toda la lista. Su solución es definir una shape
dibujable que contenga el color que desea, y usar eso en lugar del color.
Sugiero mirar este enlace si solo quiere usar un color como selector, y está apuntando a Android 2 (o al menos permitir Android 2).
Hola a todos,
Tengo 2 preguntas con respecto a ListView en Android:
¿Cómo puedo obtener el color de la fila enfocada de la lista? Traté de usar el método ListView.getSelector () , que de acuerdo con su documentación debería darme lo que estoy buscando, pero me está dando un objeto Drawable del que no sé cómo recuperar el color (si es posible). ..).
¿Cómo puedo establecer el color de la fila enfocada de la lista? Aquí traté de usar el método setSelector () en la vista de lista, pasándole un objeto ColorDrawable, pero el resultado de hacerlo es que todo el fondo de la vista de lista está pintado en ese color ... y esto no es lo que quería por supuesto...
¡Gracias!
El selector de listas StateListDrawable
es un StateListDrawable
: contiene referencias a múltiples formas para cada estado que puede contener la lista, como ser seleccionado, enfocado, presionado, deshabilitado ...
Aunque puede recuperar el getSelector()
usando getSelector()
, no creo que pueda recuperar un Drawable
específico de un StateListDrawable
, ni parece posible recuperar el color directamente desde un ColorDrawable
ninguna manera.
En cuanto a establecer el color, necesita un StateListDrawable
como se describió anteriormente. Puede configurar esto en su lista usando el atributo android:listSelector
, definiendo el dibujable en XML de esta manera:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:state_focused="true"
android:drawable="@drawable/item_disabled" />
<item android:state_pressed="true"
android:drawable="@drawable/item_pressed" />
<item android:state_focused="true"
android:drawable="@drawable/item_focused" />
</selector>