Android selector 使用注意.
下面是几个是实现的效果
效果图demo 地址
selector 的作用:
selector 是选择,用来修改修改控件的背景,设置点击效果,等, 自己一般使用在点击之后改变控件的背景色以及文字的颜色,比如底部导航栏切换等, 对单个控件按下一个状态,松开之后有一个状态,就是要实现按压效果,别的没怎么用得到,
selector 的属性如下
android:state_pressed=["true" | "false"] --是否触摸
android:state_focused=["true" | "false"] --是否获得焦点
android:state_selected=["true" | "false"] --是否被状态
android:state_checkable=["true" | "false"] --是否可选
android:state_checked=["true" | "false"] --是否选中
android:state_enabled=["true" | "false"] --是否可用
android:state_window_focused=["true" | "false"] --是否窗口聚焦
以上属性,如果对于单个控件,比如,一个Button ,一个Image ,一个Text 或者是一个布局, 使用的属性为: android:state_pressed 其他seleced 或者 checked 属性即使设置了也是没有效果的,
所以使用的时候要注意下选择的属性是否对,一个Image ,一个Text 或者是一个布局使用 android:state_pressed 点击之后没有效果,可以在xml 中对控制设置android:clickable="true" 这样就有效果
android:state_selected=["true" | "false"] --是否被状态 这个是针对list 的item 是否被选中的,
android:state_checked=["true" | "false"] --是否选中 设计多选的可以使用,比如 CheckBox和RadioButton 等,上面提到导航栏状态切换就是这个属性,
下面是一个 RadioButton 切换的代码
<RadioGroupandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="10dp"android:orientation="horizontal"><RadioButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:button="@drawable/ra_selector_bg"android:textSize="20sp"android:text="单选"/><RadioButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:button="@drawable/mult_selector_bg"android:textSize="20sp"android:text="双选" /></RadioGroup>
ra_selector_bg
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/single_select" android:state_checked="true" /><item android:drawable="@drawable/single_unselect" /></selector>
mult_selector_bg
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/mult_select" android:state_checked="true" /><item android:drawable="@drawable/mult_unselect" /></selector>
总结
以上是生活随笔为你收集整理的Android selector 使用注意.的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 喝白葡萄酒有哪些好处?红葡萄酒和白葡萄酒
- 下一篇: ImageView / Text 使用