Android selector

来源:互联网 发布:网络电信诈骗 编辑:程序博客网 时间:2024/06/06 19:29

selector(状态列表):color-selectordrawable-selector

 

一、color-selector

1color-selector基本属性

<?xml version=”1.0” encoding=”utf-8”?>

<selector xmlns:android=”http://schemas.android.com/apk/res/android”>

<item

android:color=#ffffff//颜色值,#RGB,$ARGB,#RRGGBB,#AARRGGBB

android:state_pressed=”true”//是否触摸

android:state_focused=”true”//是否获得焦点

android:state_selected=”true”//控件是否可被选择

android:state_checkable=”true”//是否可选

android:state_checked=”true”//是否可用

android:state_window_focused=”true”//是否窗口聚焦

/>

</selector>

 

2color-selector使用

test_color_selector.xml

<?xml version=”1.0” encoding=”utf-8”?>

<selector xmlns:android=”http://schemas.android.com/apk/res/android”

<!--按压时的状态-->

<item

android:state_pressed=true

android:color=#ffff0000

/>

<!--未按压时的状态-->

<item

android:state_pressed=false

android:color=#ff0000ff

/>

</selector>

PSitem按照编写顺序执行,一旦一个匹配上,后面的都不会执行

 

 

layout文件

<Button

android:id=”@+id/btn”

android:layout_width=”10dp”

android:layout_height=”10dp”

android:textColor=@color/test_color_selector

/>

 

 

 

二、drawable-selector

1drawable-selector基本属性

<?xml version=”1.0” encoding=”utf-8”?>

<selector xmlns:android=”http://schemas.android.com/apk/res/android”>

<item

android:drawable=@drawable/btn_bg//颜色值,#RGB,$ARGB,#RRGGBB,#AARRGGBB

android:state_pressed=”true”//是否触摸

android:state_focused=”true”//是否获得焦点

android:state_selected=”true”//是否被选中

android:state_checkable=”true”//是否可选

android:state_checked=”true”//是否被选中,例如RadioButton

android:state_window_focused=”true”//是否窗口聚焦

/>

</selector>

 

2drawable-selector使用

test_drawable_selector.xml

<?xml version=”1.0” encoding=”utf-8”?>

<selector xmlns:android=”http://schemas.android.com/apk/res/android”

<!--按压时的状态-->

<item

android:state_pressed=true

android:drawable=@drawable/button_bg_press

/>

<!--未按压时的状态-->

<item

android:state_pressed=false

android:drawable=@drawable/button_bg_unpress

/>

</selector>

PSitem按照编写顺序执行,一旦一个匹配上,后面的都不会执行

 

 

layout文件

<Button

android:id=”@+id/btn”

android:layout_width=”10dp”

android:layout_height=”10dp”

android:background=@drawable/test_drawable_selector

/>

 

 

 

三、selector中使用shape

<?xml version=”1.0” encoding=”utf-8”?>

<selector xmlns:android=”http://schemas.android.com/apk/res/android”>

<item android:state_pressed=”true”>

<shape>

...

</shape>

</item>

</selector>