2012-01-12 16 views
5

Po kliknięciu na pozycję listy w Androidzie, zawsze dotrzesz niebieskim tle. Wydarzenie, jeśli korzystam z niestandardowego układu, kiedy klikam, być może przestrzeń 2-5dp wokół mojego układu jest niebieska. Ponadto widoki tekstowe stają się ciemniejsze. Jak mogę wyłączyć wszelkie zmiany w widoku po kliknięciu elementu na liście?Wyłącz Android widoku listy „niebieski” background

+0

'Kiedy klikam element listy w And roid, zawsze mam niebieskie tło. niebieskie tło na co? element listView lub listViewView, który klikasz? – iTurki

+0

element widoku listy klikam. – lomza

+0

Czy możesz edytować swoje pytanie z wyraźnie określonym problemem (problemami)? Z tego, co rozumiem, wynika, że ​​wspomniałeś o trzech różnych problemach. Czy możesz wyjaśnić jedno wyraźnie? – iTurki

Odpowiedz

3

Tworzenie niestandardowego motywu dla aplikacji w /res/values/themes.xml:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <!-- application theme --> 
    <style name="CustomTheme" parent="android:style/Theme.Light"> 

    <!-- widget styles --> 
    <item name="android:listViewStyle">@style/ListView</item> 
    </style> 

    <!-- list view --> 
    <style name="ListView" parent="@android:style/Widget.ListView"> 
    <item name="android:background">#ffffff</item> 
    <item name="android:cacheColorHint">#ffffff</item> 
    <item name="android:divider">#cccccc</item> 
    <item name="android:dividerHeight">1px</item> 
    <item name="android:listSelector">@drawable/list_selector_background</item> 
    <item name="android:fadingEdge">none</item> 
    </style> 

</resources> 

w twojej AndroidManifest.xml określić motyw:

<application 
    ... 
    android:theme="@style/CustomTheme" > 
3

można po prostu ustawić android atrybut drawSelectorOnTop false na ListView i nie będzie nie może być tła po kliknięciu elementu.

Np

<ListView android:layout_width="fill_parent" android:layout_height="fill_parent" 
     android:drawSelectorOnTop="false"/> 
+0

prostu dodanie tego atrybutu nie pomogło – lomza

+0

nawet dodać selektor dla stanów naciśnięty, wybrane, skupiony, ale to też nie pomogło ... – lomza

+0

I jesteś pewien, że nie ma jakiś selektor od układu elementu, który dodajesz na liście? – Cata

5

znam jej trochę późno, ale można też zastosować metodę listview setSelector i ustawić ją na android.R.color.transparent. Możesz również użyć android:listSelector w pliku układu, aby osiągnąć ten sam wynik.

0

zrobiłem to tak:

<ListView 
    android:listSelector="@android:color/transparent" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
/> 
Powiązane problemy