2010-05-19 10 views
60

¿Cómo puedo desactivar el resaltado naranja al hacer clic en un elemento en un GridView?Android: deshabilite el resaltado en GridView

No he podido encontrar una solución en la documentación o en las pruebas.

+0

relacionados: "[Desactivar Android GridView destacando por completo (desactivar la selección)] (http: // stackoverflow.com/q/3159897) "si desea desactivar no solo resaltar sino también seleccionar y usar GridView solo para el diseño, o manejar la selección manualmente a través de onTouch/Click/etc oyentes. – blahdiblah

Respuesta

137

Use android:listSelector="#00000000" en su elemento GridView en su archivo de diseño XML.

+4

En listviews android: listSelector = "@ null" hace el truco pero en gridview eso no funcionará. Pero establecerlo de forma transparente funciona =/ – Warpzit

+0

+1! 50 ° desde mi lado ... –

+1

Tenga en cuenta que los elementos de la vista seleccionada pueden cambiar en respuesta a la selección (por ejemplo, TextViews cambia a su estado de color "seleccionado"). Ver [esta respuesta] (http://stackoverflow.com/a/3187007/85950) para saber cómo deshabilitar la selección por completo. – blahdiblah

18

me hizo lo mismo en el código utilizando

GridView.setSelector(new ColorDrawable(Color.TRANSPARENT)); 
+0

También está trabajando con twowayGridView – isha

35

Otra opción es hacer referencia al color transparente a través de @android: el color/transparente

<?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" 
/> 
6
<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" /> 

Hecho! esta es una solución. gracias :)

+0

Lo tomo es la entrada listSelector que hace el truco? – GHC

+0

para ocultar resaltado de gridview. –

+0

Gran respuesta (Y) – Mutawe

0

Apenas fije abajo la propiedad en su archivo XML.

android:focusableInTouchMode="false" 
9

Añadir esta propiedad a GridView

android:listSelector="@android:color/transparent" 
0

Añadir android:listSelector="#00000000" o android:listSelector="@android:color/transparent" en su elemento XML GridView como abajo.

<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" /> 
2

probarlo ...

androide: listSelector = "@ android: el color/transparente"

Cuestiones relacionadas