Проблема настройки цвета селектора ListView при нажатии - PullRequest
4 голосов
/ 29 сентября 2010

У меня есть следующий ListView, и я следовал за ответом на этот SO вопрос без удачи:

Цвет списка выбора для Android

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

Вот мой 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>

Когда я нажимаю на ListViewItem, ничего не появляется.

1 Ответ

2 голосов
/ 13 октября 2012

Шихан Алам, используйте этот код: -

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>
...