Android ColorStateList 是一個 XML 文件,用于定義不同狀態下的顏色值。它可以在代碼中被引用,以應用于不同的視圖或控件。
ColorStateList 的定義如下:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="@color/color_pressed"/>
<item android:state_focused="true" android:color="@color/color_focused"/>
<item android:color="@color/color_default"/>
</selector>
在上面的示例中,定義了一個 ColorStateList,當視圖或控件處于 pressed 狀態時,顏色值為 color_pressed;當處于 focused 狀態時,顏色值為 color_focused;其他狀態下顏色值為 color_default。
ColorStateList 可以定義多個不同狀態下的顏色值,并根據視圖或控件的狀態來自動選擇合適的顏色值。在代碼中使用 ColorStateList 時,可以通過 getResources().getColorStateList() 方法獲取 ColorStateList 對象,然后將其應用到相應的視圖或控件上。