熟悉web的朋友,我想对伪类选择器不会陌生
经常用于鼠标移到控件上方时,控件发生了一定的变化
比如按钮的背景原本是灰色,移上时变成红色
经常用在导航条的使用上
效果如下
当按钮在按下时,背景发生改变,是很常见的需求
那么在安卓中如何实现这样的功能呢?
在css中,我们可以使用伪类选择器
而在安卓中,我们可以用 selector (选择器)来实现效果
原理:
给按钮设置背景为绿色
当按下时背景变为黄色
背景是9png图片
使用方法
1.在res/drawable下新建xml文件
此处为btn_light_green_selector.xml
代码内容如下
<? xml version= "1.0" encoding= "utf-8" ?>
//不要忘记命名空间
< selector xmlns:android ="http://schemas.android.com/apk/res/android" >
//当按下时
<item
android:drawable ="@drawable/function_greenbutton_pressed"
android:state_pressed ="true" />
<!-- pressed -->
//默认状态
<item android:drawable ="@drawable/function_greenbutton_normal" />
<!-- default -->
</ selector>
2.给按钮控件的背景设置属性为刚才设置的xml文件即可
android:background = "@drawable/btn_light_green_selector"
//关于背景:
background可以拉伸图片,而src不会拉伸图片