android背景选择器总结
2015-10-13 14:36
447 查看
常用属性:
android:state_selected——–选中android:state_focused——–获得焦点,比如EditText
android:state_pressed——–是否按下比如Button,TextView,ImageView
android:state_checked——–是否选中,比如checkbox
1、 textview点击改变颜色
texview中的内容:必须有android:clickable=”true”这个属性,否则不会改变颜色
<TextView android:clickable="true" android:textColor="@drawable/textcolor_selector" android:gravity="center" android:textSize="18sp" android:text="点击改变颜色" android:layout_width="wrap_content" android:layout_height="wrap_content" />
textcolor_selector.xml代码
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="@color/textColor_selected" android:state_pressed="true"></item> <item android:color="@color/textColor_unselected" android:state_pressed="false"></item> </selector>
color.xml中的代码
<resources> <color name="textColor_selected">#0000ff</color> <color name="textColor_unselected">#000000</color> </resources>
2、Button点击改变文字颜色
button代码,其余代码与textview设置的点击文字改变颜色一样。<Button android:textColor="@drawable/textcolor_selecto" android:layout_marginTop="10dp" android:textSize="18dp" android:text="确定" android:layout_width="wrap_content" android:layout_height="wrap_content" />
3、Imageview的点击改变背景
imageview代码,也是必须设置 android:clickable=”true”属性。<ImageView android:clickable="true" android:src="@drawable/image_selector" android:layout_marginTop="20dp" android:layout_width="100dp" android:layout_height="100dp" />
选择器的代码如下:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/icon_click" android:state_pressed="true"></item> <item android:drawable="@drawable/icon_unclick" android:state_pressed="false"></item> </selector>
4、checkbox自定义选择器。
checkbox代码:
android:background=”@null”(去掉点击时灰色背景)
android:button=”@drawable/checkbox_selector”(给button设置选择器,而不是src或者background)
<CheckBox android:layout_marginTop="5dp" android:layout_marginLeft="10dp" android:background="@null" android:button="@drawable/checkbox_selector" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="选中" />
checkbox_selector选择器的代码如下
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/icon_check" android:state_checked="true"></item> <item android:drawable="@drawable/icon_uncheck" android:state_checkable="false"></item> </selector>
5、圆角的button。
button中的代码:
<Button android:layout_marginTop="5dp" android:layout_marginLeft="10dp" android:background="@drawable/button_round" android:text="圆角的button" android:layout_width="wrap_content" android:layout_height="wrap_content" />
在drawable中的button_ruond.xml代码:
<?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <!-- 填充的颜色 --> <solid android:color="#7f7f7f" /> <!-- 设置按钮的四个角为弧形 --> <!-- android:radius 弧形的半径 --> <corners android:radius="5dip" /> <!-- padding:Button里面的文字与Button边界的间隔 --> <!-- <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" />--> </shape>
6、边框设置。
为控件加上边框:在控件中设置一个这样的background就可以为控件加上边框。
<shape xmlns:android="http://schemas.android.com/apk/res/android" > <!-- 圆角的弧度 --> <corners android:radius="5.0dp" /> <!-- 背景颜色 --> <solid android:color="#ffffff" /> <stroke android:width="1dp" android:color="#9f9f9f" > </stroke> <!-- 与边框的距离 --> <padding android:bottom="3dp" android:left="3dp" android:right="3dp" android:top="3dp" /> <!--设置渐变色 --> <!-- <gradient android:centerColor="#5f5f5f" android:endColor="#9f9f9f" android:startColor="#1f1f1f" /> --> </shape>
还有一种不仅要圆角的button,而且点击变色
就是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> <corners Android:radius="5.0dp" /> <solid Android:color="#906EA2FC" /> </shape></item> <item Android:state_pressed="false"><shape> <corners Android:radius="5.0dp" /> <solid Android:color="#6EA2FC" /> </shape></item> </selector>
相关文章推荐
- Android签名总结
- android 多线程下载 显示进度 速度
- 关于TranslateAnimation()的参数问题
- Android RelativeLayout使用一个小问题
- Android开发Thread+Handler演示样本(打地鼠)
- android客户端学习-拍照或从相册选择图片并裁剪
- Android应用优化(7)数据库操作
- android图片模糊处理
- android常用颜色
- 环形旋转图1
- 重写了TextView类,用于显示多行文本
- android 时间计时器
- android(安卓)开源框架——六款【转】
- android接口中json数据的传输中使用gzip压缩
- Android volley 解析(四)之缓存篇
- Android volley 解析(三)之文件上传篇
- Android Volley解析(二)之表单提交篇
- Android Volley解析(一)之GET、POST请求篇
- android--(Fragments)
- Android 快速开发系列 ORMLite 框架最佳实践