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對象,然后將其應用到相應的控件上。