Come posso disattivare l'evidenziazione arancione quando fai clic su un elemento in una GridView?Android: disabilita l'evidenziazione in GridView
Non sono stato in grado di trovare una soluzione nella documentazione o tramite test.
Come posso disattivare l'evidenziazione arancione quando fai clic su un elemento in una GridView?Android: disabilita l'evidenziazione in GridView
Non sono stato in grado di trovare una soluzione nella documentazione o tramite test.
Utilizzare android:listSelector="#00000000"
nell'elemento GridView
nel file di layout XML.
Android: listSelector = "@ null" fa il trucco ma su gridview che non funzionerà. Ma impostarlo in modo trasparente funziona =/ – Warpzit
+1! 50 dalla mia parte ... –
Si noti che gli elementi della vista selezionata possono ancora cambiare in risposta alla selezione (ad es., TextViews si trasforma nello stato colore "selezionato"). Vedere [questa risposta] (http://stackoverflow.com/a/3187007/85950) per come disabilitare completamente la selezione. – blahdiblah
ho fatto la stessa cosa in codice utilizzando
GridView.setSelector(new ColorDrawable(Color.TRANSPARENT));
Funziona anche con twowayGridView – isha
Un'altra opzione è quella di fare riferimento al colore trasparente tramite @android: colore/trasparente
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/grid"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:listSelector="@android:color/transparent"
/>
<GridView
android:id="@+id/gridView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:horizontalSpacing="10dp"
android:listSelector="#00000000"
android:numColumns="3"
android:scrollbars="none"
android:stretchMode="columnWidth"
android:verticalSpacing="10dp" />
Fatto! questa è una soluzione. grazie :)
Basta impostare sotto la proprietà nel file XML.
android:focusableInTouchMode="false"
Aggiungi questa proprietà ai GridView
android:listSelector="@android:color/transparent"
Aggiungi android:listSelector="#00000000"
o android:listSelector="@android:color/transparent"
nel vostro elemento XML GridView come muggito.
<GridView
android:id="@+id/gridView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:columnWidth="150dp"
android:gravity="center"
android:listSelector="#00000000"
android:numColumns="auto_fit"
android:stretchMode="columnWidth" />
provarlo ...
android: listSelector = "@ Android: colore/trasparente"
Correlati: "[Disabilita Android GridView evidenziando completamente (disabilitare la selezione)] (http: // stackoverflow.com/q/3159897) "se si desidera disabilitare non solo l'evidenziazione ma la selezione e utilizzare GridView solo per il layout, oppure gestire manualmente la selezione tramite ascoltatori onTouch/Click/etc. – blahdiblah