Quiero deshabilitar el resaltado naranja que ocurre al tocar una fila listView. Hasta ahora en mi xml he intentado lo siguiente:
android:focusable="false"
android:focusableInTouchMode="false"
android:clickable="false"
Más información: Quiero que haya una diferencia cero cuando un usuario toca la pantalla en este objeto listView.
android
android-listview
highlighting
John Moffitt
fuente
fuente

Fragmentpara la lista. El diseño XML contiene unoLinearLayouty variosTextViewelementos. ¿Dónde debo deshabilitar el resaltado de fila, por favor?listView.setSelector(android.R.color.transparent);La respuesta de RoflcoptrException debería hacer el truco, pero por alguna razón no funcionó para mí, así que estoy publicando la solución que funcionó para mí, espero que ayude a alguien
fuente
El efecto de resaltado naranja es un estilo en ListView. Este artículo ofrece una buena descripción general de cómo anular el estilo listView.
Básicamente, tiene un selector que especifica diferentes elementos de estilo en función del estado actual.
vea esto para obtener una solución breve y rápida https://stackoverflow.com/a/12242564/185022
fuente
listSelectordebería ser.Desde ListView: Deshabilite Focus Highlight ,
cuando configuras tu
ListAdapteruso, el siguiente códigoEsto anulará la
BaseAdapterclase. También cancela el borde blanco entre las células.fuente
isEnabledpara deshabilitar un elemento no es la forma de deshabilitarlo. La documentación dice queisEnabledse supone que determina si un elemento es un separador.agregue esto también a su XMl junto con listselector ... espero que funcione
fuente
Si está utilizando
ArrayAdapteroBaseAdapterpara completar los elementos de la lista.OverrideElisEnabledmétodo y el retornofalse.fuente
Después de algunos 'google' y pruebas en dispositivos virtuales y reales, noto que mi código a continuación funciona:
Observe que he omitido la
areAllItemsEnabled()porción.fuente
Nada me ayuda más que esto:
transparent_drawable.xml:layout.xml:fuente
en codigo
y agregue una pequeña imagen transparente a la carpeta dibujable.
Me gusta: transparent.xml
fuente
Para mí
android:focusableInTouchMode="true"es el camino a seguir.android:listSelector="@android:color/transparent"No sirve de nada. Tenga en cuenta que estoy usando una vista de lista personalizada con varios objetos en cada fila.fuente
Solo necesitas agregar:
android:cacheColorHint="@android:color/transparent"fuente
Como alternativa:
o
fuente
Hay una manera rápida y fácil de hacer esto: En método:
Espero que ayude;)
fuente
Si desea deshabilitar el resaltado para un solo elemento de vista de lista, pero mantener la celda habilitada, configure el color de fondo para esa celda para deshabilitar el resaltado.
Por ejemplo, en el diseño de su celda, establezca
android:background="@color/white"fuente
puedes obtener lo
posque obtienes deonItemClicky hacer:esa es la mejor manera que conozco
fuente