列表视图的选择器

时间:2013-12-27 09:39:44

标签: android xml list android-layout selector

我有一个列表视图的不同状态的选择器。我为背景选择了一种灰色但是它不起作用,按下状态工作正常,但我的列表视图背景仍然是白色,当我选择列表项时,它的颜色变为灰色,我选择了背景和背景还是白的。 请帮忙,抱歉这个愚蠢的问题,因为我是android的新手。 我的列表视图是:

<?xml version="1.0" encoding="utf-8"?>
   <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="match_parent" 

   android:background="?android:attr/activatedBackgroundIndicator">


  <ListView
      android:id="@android:id/list"
      android:layout_width="match_parent"
      android:layout_height="match_parent" 
    android:divider="#b5b5b5"
      android:dividerHeight="1dp"
      android:listSelector="@drawable/list_selector">

  </ListView>

        </FrameLayout>

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> 

pressed_state xml是:

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

后台xml是:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
  <gradient
      android:startColor="#D5DDE0"
      android:centerColor="#e7e7e8"
      android:endColor="#CFCFCF"
      android:angle="270" />
</shape>

1 个答案:

答案 0 :(得分:0)

将您的选择器应用于ListView项,我指的是row.xml的视图组或您为listview项定义的任何名称。