我们首先添加一个ColorStateList资源XML文件,XML文件保存在res/color/text_action.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:color="#ffff0000"/> <!-- 按下时的颜色 -->
<item android:state_focused="true"
android:color="#ff0000ff"/> <!-- 得到焦点时的颜色 -->
<item android:color="#ff111111"/> <!-- 默认颜色 -->
</selector>
在代码或xml文件中引用即可,比如
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/text_action"
android:text="文字动作效果"
android:clickable="true"
android:focusable="true"
android:textSize="18sp" />
而ColorStateList,就是在代码里getResource时取得的color对象。