2010-09-28 3 views
4

je ListView suivant, et ont suivi la réponse de cette question SO w/pas de chance:réglage Problème couleur du sélecteur ListView lorsqu'il est pressé

Android ListView Selector Color

<ListView android:layout_width="fill_parent" 
      android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/ARListView" 
      android:background="@drawable/transparent_background" 
      android:cacheColorHint="#00000000" 
      android:listSelector="@drawable/ar_selector" 
      android:drawSelectorOnTop="true"> 

Voici mon ar_selector.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_enabled="false" android:state_focused="true" 
     android:drawable="@android:color/transparent" /> 
    <item android:state_pressed="true" 
     android:drawable="@color/solid_red" /> 
    <item android:state_focused="true" 
     android:drawable="@android:color/transparent" /> 
</selector> 

Lorsque j'appuie sur un ListViewItem, rien n'apparaît.

+0

double possible de [ListViewItem ne pas mettre en évidence ed si l'arrière-plan n'est pas transparent] (http://stackoverflow.com/questions/3809107/listviewitem-does-not-get-highlighted-if-the-background-isnt-transparent) –

Répondre

2

Sheehan Alam, utilisez ce code: -

list_selector.xml

<?xml version="1.0" encoding="utf-8"?> 
    <selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
    android:state_selected="false" 
    android:state_pressed="false" 
    android:drawable="@drawable/gradient_bg" /> 

    <item android:state_pressed="true" 
    android:drawable="@drawable/gradient_bg_hover" /> 

    <item android:state_selected="true" 
android:state_pressed="false" 
    android:drawable="@drawable/gradient_bg_hover" /> 
</selector> 

gradient_bg.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <gradient 
    android:startColor="#f1f1f2" 
    android:centerColor="#e7e7e8" 
    android:endColor="#cfcfcf" 
    android:angle="270" /> 
    </shape> 

gradient_bg_hover.xml

<?xml version="1.0" encoding="utf-8"?> 
    <shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <gradient 
    android:startColor="#18d7e5" 
    android:centerColor="#16cedb" 
    android:endColor="#09adb9" 
    android:angle="270" /> 
    </shape>