Android ColorStateList是一种用来定义不同状态下的颜色值的资源类型,比如按钮的普通状态、按下状态、禁用状态等。以下是一个简单的ColorStateList的XML配置示例:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 普通状态下的颜色 -->
<item android:state_enabled="true" android:color="#FF0000"/>
<!-- 按下状态下的颜色 -->
<item android:state_pressed="true" android:color="#00FF00"/>
<!-- 禁用状态下的颜色 -->
<item android:state_enabled="false" android:color="#0000FF"/>
</selector>
在这个示例中,selector
元素包含了多个item
子元素,每个item
定义了不同状态下的颜色值。state_enabled
表示控件是否可用,state_pressed
表示控件是否被按下。
ColorStateList可以应用在各种控件的颜色定义中,比如按钮的背景色、文字颜色等。要在代码中使用ColorStateList,可以通过ContextCompat.getColorStateList()
方法来获取ColorStateList对象,然后将其应用到相应的控件上。