Explicación detallada del selector dibujable

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>

 

Supongo que te gusta

Origin blog.csdn.net/paroleg/article/details/103539537
Recomendado
Clasificación