No |
etiqueta xml |
clase clase |
significado |
1 |
forma |
FormaDibujable |
forma específica, patrón de un modelo |
2 |
selector |
Lista de estados dibujable |
Elija diferentes patrones para diferentes estados |
3 |
lista de capas |
CapaDibujable |
patrón en cascada |
4 |
lista de niveles |
Lista de niveles dibujable |
Diferentes niveles de patrones. |
5 |
transición |
TransiciónDibujable |
patrón de gradiente |
6 |
onda |
OndulaciónDibujable |
patrón de ondulación |
7 |
recuadro |
InsertadoDibujable |
Gráficos integrados |
8 |
escala |
EscalaDibujable |
patrón de escala |
9 |
acortar |
ClipDibujable |
patrón de corte |
10 |
girar |
Girar dibujable |
Rotar patrón |
11 |
lista de animaciones |
AnimaciónDibujable |
Efectos de animación |
12 |
mapa de bits |
Mapa de bits dibujable |
patrón de imagen |
13 |
nueve parches |
Nueve parches dibujables |
.9 Figura |
En Android, independientemente del tamaño del proyecto, puede ver el selector de estado. Generalmente se usa en varios estados operativos, lo que se refleja principalmente en el cambio de fuentes y fondos. ¡Podemos usar código dinámicamente para configurarlo! ¡También puede usar el selector de estado para implementarlo rápidamente, porque es simple, conveniente y altamente reutilizable!
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:exitFadeDuration="3000"
android:enterFadeDuration="3000"
>
<!--
//设置是否按压状态,一般在true时设置该属性,表示已按压状态,默认为false
android:state_pressed
//设置是否选中状态,true表示已选中,false表示未选中
android:state_selected
//设置是否勾选状态,主要用于CheckBox和RadioButton,true表示已被勾选,false表示未被勾选
android:state_checked
//设置勾选是否可用状态,类似state_enabled,只是state_enabled会影响触摸或点击事件,state_checkable影响勾选事件
android:state_checkable
//设置是否获得焦点状态,true表示获得焦点,默认为false,表示未获得焦点
android:state_focused
//设置触摸或点击事件是否可用状态,一般只在false时设置该属性,表示不可用状态
android:state_enabled
较少用:
//设置当前窗口是否获得焦点状态,true表示获得焦点,false 表示未获得焦点,例如拉下通知栏或弹出对话框时, 当前界面就会失去焦点;另外,ListView的ListItem获得焦点时也会触发true状态,可以理解为当前窗口就是ListItem本身
android:state_window_focused
//设置是否被激活状态,true表示被激活,false表示未激活,API Level 11及以上才支持,可通过代码调用控件的
android:state_activated
//方法设置是否激活该控件
setActivated(boolean)
//设置是否鼠标在上面滑动的状态**,true表示鼠标在上面滑动,默认为false,API Level 14及以上才支持
//补充:selector标签下有两个比较有用的属性要说一下,添加了下面两个属性之后,则会在状态改变时出现淡入淡出效果,
//但必须在API Level 11及以上才支持
android:state_hovered
//状态改变时,旧状态消失时的淡出时间,以毫秒为单位
android:exitFadeDuration
//状态改变时,新状态展示时的淡入时间,以毫秒为单位
android:enterFadeDuration
-->
<!--设置点击改变背景,再点击返回背景-->
<item android:state_activated="true" android:drawable="@drawable/shape_rectangle"/>
<item android:drawable="@drawable/shape_ring" android:state_activated="false"/>
<!--点击改变背景-->
<item android:state_pressed="true" android:drawable="@drawable/shape_rectangle" />
<item android:drawable="@drawable/shape_ring" />
</selector>