【发布时间】:2018-02-12 23:43:27
【问题描述】:
我希望 ListView 中项目的文本颜色在被选中时发生变化。我阅读了以下帖子(How to set ListView selected item alternet text color in android)并进行了以下更改:
创建了一个 ColorStateList 资源@drawable/list_item.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="#ffffff00" /> <!-- default -->
<item
android:state_pressed="true"
android:color="#ff000000" />
<item
android:state_selected="true"
android:color="#ffff0000" />
<item
android:state_focused="true"
android:color="#ff0000ff" />
将资源分配给目标TextView中的textColor属性
<TextView
android:id="@+id/person_active_list_name"
android:paddingLeft="@dimen/person_list_name_left_padding"
android:layout_width="wrap_content"
android:layout_height="@dimen/person_list_image_size"
android:layout_toEndOf="@id/person_active_thumbnail"
android:layout_toLeftOf="@id/person_active_list_arrow"
android:layout_toRightOf="@id/person_active_thumbnail"
android:layout_toStartOf="@id/person_active_list_arrow"
android:gravity="center|start"
android:textColor="@drawable/list_item" />
由于某种原因,仅应用了 @drawable/list_item.xml 中的默认颜色(因此 ColorStateList 资源确实被 TextView 消耗)。但是,当按下、选择列表项等时,文本颜色没有变化。感谢任何帮助!
【问题讨论】: