安卓中selector的用法
2016-02-29 17:18
369 查看
安卓开发中我们会经常使用到Button,checkBox等控件,但是原生的控件非常丑一般情况下我们会给它加入一些点击或者选择样式,这时候就会使用到状态选择器。
先来看下我们要实现的效果图
未点击的Button效果:
点击状态下的Button效果:
下面一步一步实现(大致为4步):
1.在res下新建drawable文件夹
2.在drawable下创建一个选择器selector名字随你取,我这里叫button_selector
shape和item混合使用:
1.shape是用来绘制Button背景形状和颜色的(可以是方形、圆形、圆角)
其中rectagle矩形,oval椭圆,line水平直线,ring环形
2.item用来区分当前控件状态(选中、点击、获得焦点或者是否响应事件)
item中也可以指定drawable图片
例如:<item android:state_selected="true" android:drawable="@drawable/pic4" />这样就可以不使用shape属性了
item属性介绍:
android:state_selected选中
android:state_focused获得焦点
android:state_pressed点击
android:state_enabled设置是否响应事件,指所有事件
3.在drawable下创建一个文字颜色选择器selector名字随你取,我这里叫text_color_selector
4.在布局控件中引用
Button加入Selector
下面我们以一个Button的点击样式为例介绍一个Button控件在正常情况和点击之后的样式。先来看下我们要实现的效果图
未点击的Button效果:
点击状态下的Button效果:
下面一步一步实现(大致为4步):
1.在res下新建drawable文件夹
2.在drawable下创建一个选择器selector名字随你取,我这里叫button_selector
shape和item混合使用:
1.shape是用来绘制Button背景形状和颜色的(可以是方形、圆形、圆角)
其中rectagle矩形,oval椭圆,line水平直线,ring环形
2.item用来区分当前控件状态(选中、点击、获得焦点或者是否响应事件)
item中也可以指定drawable图片
例如:<item android:state_selected="true" android:drawable="@drawable/pic4" />这样就可以不使用shape属性了
item属性介绍:
android:state_selected选中
android:state_focused获得焦点
android:state_pressed点击
android:state_enabled设置是否响应事件,指所有事件
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <!-- 没有点击状态 --> <item android:state_pressed="true"> <!-- 其中rectagle矩形,oval椭圆,line水平直线,ring环形 --> <shape android:shape="rectangle"> <!-- 实心 --> <solid android:color="#FF602C" /> <!-- #FF602C橘红色 --> <!-- 描边 --> <stroke android:width="1dp" android:color="#FF602C" /> <!-- 圆角 四角弯度--> <corners android:radius="8dp" /> </shape> </item> <!-- 点击状态 --> <item android:state_pressed="false"> <shape android:shape="rectangle"> <!-- 实心 --> <solid android:color="#ffffff" /> <!-- 描边 --> <stroke android:width="1dp" android:color="#FF602C" /> <!-- 圆角 --> <corners android:radius="8dp" /> </shape> </item> </selector>
3.在drawable下创建一个文字颜色选择器selector名字随你取,我这里叫text_color_selector
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:color="@color/white"></item> <item android:state_pressed="false" android:color="@color/red_orange"></item> </selector>
4.在布局控件中引用
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingLeft="10dp" android:paddingRight="10dp" android:background="@drawable/button_selector" android:textColor="@drawable/text_color_select" android:text="测试按钮" />
相关文章推荐
- 基于android背景选择器selector的用法汇总
- jQuery Selector选择器小结
- 关于query Javascript CSS Selector engine
- 实例详解Android Selector和Shape的用法
- Android编程中selector背景选择器用法实例分析
- Android selector背景选择器的使用详解
- Android编程之selector下设置背景属性值的方法
- Android使用selector修改TextView中字体颜色和背景色的方法
- Android中的Shape和Selector的结合使用实例
- Android Selector和Shape的使用方法
- Android开发教程之shape和selector的结合使用
- android中的selector背景选择器
- selector
- android selector的用法
- Android利用selector设置按钮不同状态下的背景图片
- Android_按钮被按下效果的实现(selector选择器)
- [Objective-C] Selector 基本概念和操作
- Swift 如何使用Selector
- android socket select 编程demo
- iOS - id && Object Messaging 深入讲解