【发布时间】:2017-07-30 12:38:20
【问题描述】:
我有一个以编程方式创建的 TextView 并为其添加了一个颜色选择器 xml 文件。在选择器文件中只有一个激活状态和一个默认状态。
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="#ff867f"/>
<item android:color="#c50e29" android:state_activated="true"/>
</selector>
但是,如果我在 Activity 中激活 TextView,它不会改变文本颜色并且仍然显示默认颜色。
tv_header_exam.setActivated(true);
tv_text_exam.setActivated(true);
tv_header_exam.setTextColor(getResources().getColor(R.color.exam));
tv_text_exam.setTextColor(getResources().getColor(R.color.exam));
我错过了什么吗?
编辑:
我也尝试过使用以下选择器:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="#c50e29" android:state_activated="true"/>
<item android:color="#ff867f" android:state_activated="false"/>
</selector>
【问题讨论】:
-
它不起作用。它只显示默认状态的文本颜色
-
您是否尝试在 tv_header_exam.setActivated 之前调用 tv_header_exam.setTextColor ?
-
您是否记得将选择器分配给 TextView 背景?
标签: android android-layout textview android-selector