Android: deshabilitar el resaltado en listView, haga clic
Quiero desactivar el resaltado naranja que se produce al tocar una fila de listView. Hasta ahora en mi xml he probado lo siguiente:
android:focusable="false"
android:focusableInTouchMode="false"
android:clickable="false"
Más información: Quiero que no haya diferencia cero cuando un usuario toca la pantalla en este objeto listView.
Agrega esto a tu xml:
android:listSelector="@android:color/transparent"
Y para el problema esto puede funcionar (no estoy seguro y no sé si existen mejores soluciones):
Podrías aplicar una ColorStateList a tu TextView.
La respuesta de RoflcoptrException debería funcionar, 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.
<ListView
android:listSelector="@android:color/transparent"
android:cacheColorHint="@android:color/transparent"
/>
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 según el estado actual.
consulte esto para obtener una solución breve y rápida https://stackoverflow.com/a/12242564/185022
Desde ListView: Desactivar resaltado de enfoque :
Cuando configuras tu ListAdapter
uso el siguiente código:
ListAdapter adapter = new SimpleCursorAdapter(MyList, Layout, c,
new String[] { "Name", "Score" }, to)
{
public boolean areAllItemsEnabled()
{
return false;
}
public boolean isEnabled(int position)
{
return false;
}
};
Esto anulará la BaseAdapter
clase. También cancela el borde blanco entre celdas.