0

如果选择为黄色,我想将列表视图中的行颜色设置为黄色,否则为白色,因此我使用以下选择器

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

我像下面这样使用它

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

但是该行总是白色的,知道如何解决这个问题

4

4 回答 4

0

在我设置之前,没有什么对我有用drawSelectorOnTop = "true"

之后一切正常。

于 2015-02-26T07:56:54.927 回答
0

使用选择器设置背景颜色有点棘手。基本上你必须为每种颜色创建一个drawable并在你的android:drawable属性中使用它们。您不能直接使用颜色。

检查此相关问题以获取更多详细信息。

于 2012-06-21T14:23:19.287 回答
0

我使用以下内容:

<?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 个补丁图像。

于 2012-06-21T14:35:30.807 回答
0

在您的选择器上使用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>
于 2012-06-25T04:16:17.037 回答