ListView与自定义选择器

时间:2013-05-29 10:32:39

标签: android listview android-listview selector

我想在选择项目时,颜色名称会发生​​变化。 但我的问题是文本改变了但是时间并没有保留帐户而且没有改变颜色,只有文本以粗体显示,当我选择其他项目时,在项目再次变为开头之前。

list_selector.xml

<item android:drawable="@color/android:transparent" android:state_enabled="true" android:state_pressed="true"/>
<item android:drawable="@color/android:transparent" android:state_enabled="true" android:state_focused="true"/>
<item android:drawable="@color/android:transparent"/>

list_view.xml

<ListView
    android:id="@+id/listview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:choiceMode="singleChoice"
    android:listSelector="@drawable/list_selector"/>

row_selector.xml

<item android:drawable="@color/col" android:state_enabled="true" android:state_pressed="true"/>
<item android:drawable="@color/coll" android:state_enabled="true" android:state_focused="true"/>
<item android:drawable="@color/colll" android:state_enabled="true" android:state_selected="true"/>

print_item.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/row_selector">

我想知道如何在选中时保存我的行状态以及如何更改此选择的颜色?

1 个答案:

答案 0 :(得分:1)

您可以使用此

<item android:state_focused="true" android:drawable="@drawable/rowback" />
<item android:state_pressed="true" android:drawable="@drawable/rowback_selected" />
<item android:state_selected="true" android:state_focused="false"
    android:state_pressed="false" android:drawable="@drawable/rowback_selected" />
<item android:state_window_focused="false"
    android:drawable="@drawable/rowback" />

为我工作