2010-05-19 25 views
60

Jak wyłączyć pomarańczowe podświetlenie po kliknięciu elementu w GridView?Android: wyłącz podświetlanie w GridView

Nie mogłem znaleźć rozwiązania w dokumentacji lub podczas testów.

+0

pokrewne: „[Wyłącz Android GridView podkreślając całkowicie (wyłączyć wyboru)] (http: // stackoverflow.com/q/3159897) "jeśli chcesz wyłączyć nie tylko podświetlanie, ale wybór i używać GridView tylko do układu, lub obsługiwać wybór ręcznie za pomocą detektorów onTouch/Click/etc. – blahdiblah

Odpowiedz

137

Użyj android:listSelector="#00000000" w swoim kodzie GridView w pliku układu XML.

+4

Na liście wyświetleń android: listSelector = "@ null" robi lewę, ale na widoku siatki, które nie będzie działać. Ale ustawienie go jako przezroczystego działa =/ – Warpzit

+0

+1! 50. po mojej stronie ... –

+1

Należy zauważyć, że elementy wybranego widoku mogą nadal zmieniać się w odpowiedzi na wybór (np. Zmiany widoku TextView zmieniają się na "wybrany" kolor). Zobacz [tę odpowiedź] (http://stackoverflow.com/a/3187007/85950), aby wyłączyć całkowicie wybór. – blahdiblah

18

zrobiłem to samo w kodzie za pomocą

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

To także działa z twowayGridView – isha

35

Innym rozwiązaniem jest odniesienie przezroczystą barwę poprzez @android: kolor/przezroczysty

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

Gotowe! to jest rozwiązanie. dziękuję :)

+0

Biorę to jest wpis listSelector, który robi lewę? – GHC

+0

, aby ukryć podświetlone z gridview. –

+0

Świetna odpowiedź (Y) – Mutawe

0

Ustaw poniżej właściwości w pliku XML.

android:focusableInTouchMode="false" 
9

Dodaj tę nieruchomość do GridView

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

Dodaj android:listSelector="#00000000" lub android:listSelector="@android:color/transparent" w GridView elementu XML jak mieszka.

<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

spróbować ...

android: listSelector = "@ android: kolor/przezroczysty"

Powiązane problemy