在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文件应用于按钮的背景属性,按钮在不同状态下将显示不同的背景颜色。