在Android中,selector是一个XML文件,用于定义不同状态下的视图样式。它可以被应用于按钮、背景、文本颜色等视图元素,以根据视图的不同状态显示不同的样式。
使用selector的步骤如下:
<selector>
标签包裹不同状态下的样式。<selector>
标签内部,使用<item>
标签来定义每个状态下的样式。每个<item>
标签都有一个android:state_XXX
属性,用于指定视图的某个状态。常用的状态有:android:state_pressed
(按下状态)、android:state_focused
(获取焦点状态)、android:state_enabled
(可用状态)、android:state_selected
(选中状态)等。<item>
标签内部,可以定义具体的样式,如背景颜色、文本颜色、字体大小等。使用android:xxx
属性来指定具体的样式。以下是一个示例的selector.xml文件:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@color/colorPrimaryDark" />
<item android:state_focused="true" android:drawable="@color/colorAccent" />
<item android:drawable="@color/colorPrimary" />
</selector>
在这个示例中,当视图被按下时,背景颜色将改变为colorPrimaryDark
定义的颜色;当视图获取焦点时,背景颜色将改变为colorAccent
定义的颜色;其他状态下,背景颜色为colorPrimary
定义的颜色。
通过将这个selector.xml文件应用于按钮的背景属性,按钮在不同状态下将显示不同的背景颜色。