ListView文本颜色更改



我有Listview。我希望我选择的文本的颜色在选择后变为白色,并保持白色,但当我在列表视图中选择另一个项目时,我希望以前选择的项目的颜色恢复为默认的黑色,新选择的项目变为白色。

我的颜色选择器.xml

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

这只会在我按下项目时将文本颜色变为白色。

使用state_activated,您实际上只是在选择器中处理按下事件,这是一种短暂的情况,一旦用户移开手指,就会变为false。

您也可以查找state_selected,查看ListView的state_activated、state_selected、state_pressed、state_focused的解释以了解更多信息。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    .
    .
    .
    <item android:state_activated="true" android:color="@color/white" />
    <item android:state_selected="true" android:color="@color/white" />
    <item android:color="@color/black" />
</selector>

最新更新