ColorStateList
时间: 2024-05-03 13:23:34 浏览: 32
ColorStateList is a class in Android that represents a list of colors for different states of a view, such as pressed or focused. It is used to define the colors of different states of a view, such as the text color of a button when it is pressed or the background color of a CheckBox when it is checked.
A ColorStateList can be created programmatically or using an XML file. In XML, a ColorStateList is defined using the <selector> element and the <item> element to define the colors for each state. For example, the following XML defines a ColorStateList for the text color of a button:
```
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="@color/button_pressed_color" />
<item android:state_focused="true" android:color="@color/button_focused_color" />
<item android:color="@color/button_default_color" />
</selector>
```
In this example, the ColorStateList has three items, one for each state: pressed, focused, and default. When the button is pressed, the color will be set to the value of "@color/button_pressed_color", when it is focused, it will be set to "@color/button_focused_color", and when it is in the default state, it will be set to "@color/button_default_color".
ColorStateList is used by many Android UI elements, such as buttons, text views, and check boxes, to provide different colors for different states, making the UI more dynamic and interactive.