我列表的行有一个自定义选择器。此选择器的背景在未按下时为颜色 A,在按下时为颜色 B。未按下列表项时,项目布局上的 TextView 为 B 色,以便并列。
但是,我希望在按下行时将文本颜色更改为颜色 A,以与新的背景颜色并列。
我该如何做到这一点?
我列表的行有一个自定义选择器。此选择器的背景在未按下时为颜色 A,在按下时为颜色 B。未按下列表项时,项目布局上的 TextView 为 B 色,以便并列。
但是,我希望在按下行时将文本颜色更改为颜色 A,以与新的背景颜色并列。
我该如何做到这一点?
您可以使用 textColor drawable 设置文本样式:
<style name="listLabel">
<item name="android:textSize">16sp</item>
<item name="android:textColor">@drawable/list_selector_text</item>
</style>
和 drawable/list_selector_text 看起来像这样:
<?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="true" android:color="@color/white" />
<item android:state_focused="true" android:color="@color/offwhite" />
<item android:state_pressed="true" android:color="@color/white" />
<item android:color="@color/black" />
</selector>