Ausführliche Erklärung des zeichnbaren Selektors

NEIN

XML-Tag

Klasse Klasse

Bedeutung

1

Form

ShapeDrawable

spezifische Form, Muster eines Modells

2

Wähler

StateListDrawable

Wählen Sie unterschiedliche Muster für unterschiedliche Zustände

3

Ebenenliste

LayerDrawable

Kaskadenmuster

4

Level-Liste

LevelListDrawable

Verschiedene Ebenen von Mustern

5

Übergang

TransitionDrawable

Farbverlaufsmuster

6

Welligkeit

RippleDrawable

Wellenmuster

7

Einsatz

InsetDrawable

Eingebettete Grafiken

8

Skala

ScaleDrawable

Skalenmuster

9

Clip

ClipDrawable

Schnittmuster

10

drehen

RotateDrawable

Muster drehen

11

Animationsliste

AnimationDrawable

Animationseffekte

12

Bitmap

BitmapDrawable

Bildmuster

13

Neun-Patch

NinePatchDrawable

.9 Abbildung

In Android können Sie unabhängig von der Größe des Projekts den Selektorstatusselektor sehen. Er wird im Allgemeinen in verschiedenen Betriebszuständen verwendet, was sich hauptsächlich im Wechseln von Schriftarten und Hintergründen widerspiegelt. Wir können ihn dynamisch mithilfe von Code festlegen! Sie können es auch schnell mit dem Selector-State-Selektor implementieren, da er einfach, bequem und äußerst wiederverwendbar ist! 

<?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>

 

Ich denke du magst

Origin blog.csdn.net/paroleg/article/details/103539537
Empfohlen
Rangfolge