浅谈android的selector,背景选择器
http://blog.csdn.net/jrcisme/article/details/6444653
http://hi.baidu.com/scusong2010/item/1b49b4d146eccce6b2f777e8
关于listview和button都要改变android原来控件的背景,在网上查找了一些资料不是很全,所以现在总结一下android的selector的用法。
首先android的selector是在drawable/xxx.xml中配置的。
先看一下listview中的状态:
把下面的XML文件保存成你自己命名的.xml文件(比如list_item_bg.xml),在系统使用时根据ListView中的列表项的状态来使用相应的背景图片。
drawable/list_item_bg.xml
<?xml version="1.0" encoding="utf-8" ?>
使用些xml文件:第一种是在listview中配置android:listSelector="@drawable/list_item_bg
或者在listview的item中添加属性android:background=“@drawable/list_item_bg"即可实现,或者在java代码中使用:Drawable drawable = getResources().getDrawable(R.drawable.list_item_bg);
ListView.setSelector(drawable);同样的效果。
但是这样会出现列表有时候为黑的情况,需要加上:android:cacheColorHint="@android:color/transparent"
使其透明。
其次再来看看Button的一些背景效果:
android:state_selected是选中
android:state_focused是获得焦点
android:state_pressed是点击
android:state_enabled是设置是否响应事件,指所有事件
根据这些状态同样可以设置button的selector效果。也可以设置selector改变button中的文字状态。
以下就是配置button中的文字效果:
drawable/button_font.xml
<?xml version="1.0" encoding="utf-8"?>
Button还可以实现更复杂的效果,例如渐变啊等等。
drawable/button_color.xml
<?xml version="1.0" encoding="utf-8"?>
最后,需要在包含 button的xml文件里添加两项。假如是 main.xml 文件,
我们需要在里加两项。
android:focusable="true"
android:backgroud="@drawable/button_color"
这样当你使用Button的时候就可以甩掉系统自带的那黄颜色的背景了,实现个性化的背景,配合应用的整体布局非常之有用啊。
二、 显示一条虚线:
"http://schemas.android.com/apk/res/android" android:shape="line">-
"1dp" android:color="#FF000000" - android:dashWidth="1dp" android:dashGap="2dp" />
-
"5dp" /> "http://schemas.android.com/apk/res/android" android:shape="rectangle">-
"#FFe79c97" android:endColor="#ffe3e196" - android:angle="270"/>
-
"7dp" android:top="7dp" - android:right="7dp" android:bottom="7dp" />
-
"1dp" />
android:dashWidth="3dp" android:dashGap="2dp" 默认值为0
android:width="2dp" android:color="#FF00ff00"笔的粗细,
android:dashWidth="5dp" android:dashGap="5dp" 实现- - -这样的效果,dashWidth指的是一条小横线的宽度
dashGap 指的是 小横线与小横线的间距。 width="2dp" 不能太宽
二、
http://blog.csdn.net/jamesliulyc/article/details/6433168
shape是用来定义形状的,gradient定义该形状里面为渐变色填充,startColor起始颜色,endColor结束颜色,angle表示方向角度。当angle=0时,渐变色是从左向右。 然后逆时针方向转,当angle=90时为从下往上。
http://blog.xianqu.org/2012/04/android-borders-and-radius-corners/
http://www.eoeandroid.com/thread-234028-1-1.html
http://blog.csdn.net/cauchy8389/article/details/8522127
更多相关文章
- android中判断横屏或者竖屏并改变背景
- 如何实现Android(安卓)布局背景模糊化处理
- 一些android基本知识网站整理
- 关于设置activity样式
- android 下改变默认的checkbox的 选中 和被选中 图片
- android内部培训视频_第五节(1)_OA实战之登录界面
- 如何实现Android(安卓)布局背景模糊化处理
- android 自定义Dialog(背景图等)
- 浅谈android的selector,背景选择器