Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android listview的选择器没有';行不通_Android_Android Layout_Android Listview - Fatal编程技术网

Android listview的选择器没有';行不通

Android listview的选择器没有';行不通,android,android-layout,android-listview,Android,Android Layout,Android Listview,我想将listview中的行的颜色设置为黄色,否则为白色,因此我使用以下选择器 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_enabled="true" android:state_pressed="true" android:dra

我想将listview中的行的颜色设置为黄色,否则为白色,因此我使用以下选择器

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

在哪里

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="encounterselector_color">#fbeda5</color>
    <color name="encounter_normal">#ffffff</color>  
</resources>

#fbeda5
#ffffff
我使用它的方式如下

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" 

    android:id="@+id/EncounterGrid"
    android:background="@drawable/encounterlistview"

    >
 <!-- remaining code -->

但这一排总是白色的,你知道怎么解决吗
使用选择器设置背景色有点棘手。基本上,您必须为每种颜色创建一个可绘制属性,并在您的
android:drawable
属性中使用它们。不能直接使用颜色

查看此项了解更多详细信息

我使用以下方法:

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

<!-- This is the switched off state -->
<item   android:state_enabled="false"
        android:drawable="@drawable/grey_bar" />

<!-- These are the partial states -->
<item   android:state_pressed="true"
        android:drawable="@drawable/button_pressed" />        

<item   android:state_focused="true" android:state_enabled="true"
        android:drawable="@drawable/button_focused" />

<!--  This is the switched on state -->
<item   android:state_enabled="true"
        android:drawable="@drawable/button_normal" />
</selector>


其中,我所指的所有可绘制图形都是用xml定义的,或者是现有的9个补丁图像。

在选择器上使用
android:color
,而不是
android:drawable
,因为您获得了对颜色资源的引用,所以选择器如下所示:

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

在我设置
drawSelectorOnTop=“true”
之前,一切都不正常


此后一切正常。

选择器的名称是什么,您的标签在哪里?