Android ColorStateList是一種用來(lái)定義不同狀態(tài)下的顏色值的資源類(lèi)型,比如按鈕的普通狀態(tài)、按下?tīng)顟B(tài)、禁用狀態(tài)等。以下是一個(gè)簡(jiǎn)單的ColorStateList的XML配置示例:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 普通狀態(tài)下的顏色 -->
<item android:state_enabled="true" android:color="#FF0000"/>
<!-- 按下?tīng)顟B(tài)下的顏色 -->
<item android:state_pressed="true" android:color="#00FF00"/>
<!-- 禁用狀態(tài)下的顏色 -->
<item android:state_enabled="false" android:color="#0000FF"/>
</selector>
在這個(gè)示例中,selector
元素包含了多個(gè)item
子元素,每個(gè)item
定義了不同狀態(tài)下的顏色值。state_enabled
表示控件是否可用,state_pressed
表示控件是否被按下。
ColorStateList可以應(yīng)用在各種控件的顏色定義中,比如按鈕的背景色、文字顏色等。要在代碼中使用ColorStateList,可以通過(guò)ContextCompat.getColorStateList()
方法來(lái)獲取ColorStateList對(duì)象,然后將其應(yīng)用到相應(yīng)的控件上。