2014-02-21 153 views
0

在API7那里我有问题,如果我选择一行背景更改,而不是我选择的行。我的错误在哪里? 与我的手机与Android 4没有问题的颜色,最新错了?Listview选择器错误的背景

list_selector_flatcolor.xml:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@color/list_row_default_bg" android:state_pressed="false" android:state_activated="true"/> 
    <item android:drawable="@color/list_row_pressed_bg" android:state_pressed="true"/> 
    <item android:drawable="@color/list_row_selected_bg" android:state_pressed="false" android:state_activated="true"/> 

</selector> 

与列表视图布局:

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


    <ListView 
     android:id="@+id/custom_list" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:listSelector="@drawable/list_selector_flatcolor" 
     android:dividerHeight="1dp"/> 

</LinearLayout> 

colors.xml:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <color name="text_color_default">#00000C</color> 
    <color name="text_color_inverse">#FFFFFF</color> 
    <color name="white">#FFFFFF</color> 
    <color name="list_row_default_bg">#ffd30210</color> 
    <color name="list_row_pressed_bg">#008cef</color> 
    <color name="list_row_selected_bg">#86d3f6</color> 
</resources> 

enter image description here

+0

尝试使用'state_activated'你'row_selector'。 –

+0

仍然不起作用。对于我必须使用state_activated? – user3241084

+0

从我的新代码或从智能手机发布一个单元plz –

回答

1

试试这个selector.xml。您需要添加android:state_selected状态。

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

如果你使用Custom Adapter那么你可以选择这个作为Background设为您的Custom Layout像:

android:background="@drawable/selector" 
+0

谢谢android:background =“@ drawable/item_selector”我忘了这个:) – user3241084

+0

@ user3241084哟欢迎。 –

+0

我该怎么做,选定的行采取正确的颜色,只是如果我选择另一个,然后颜色的变化? – user3241084