android中selector的用法
来源:互联网 发布:高博软件技术学院 编辑:程序博客网 时间:2024/06/05 07:38
android中的selector一般是在drawable/xxx.xml中配置的。
selector一般用来设置Android中控件在不同情况下的背景图片及样式。
Selector中常用的状态:
android:state_selected:被选中
android:state_focused:获得焦点
android:state_pressed:被点击
android:state_enabled:是否响应点击等事件
例一:设置button的背景效果: btnbgstyle.xml
<?xmlversion="1.0"encoding="UTF-8"?>
<selectorxmlns:android="http://schemas.android.com/apk/res/android">
<!-- 设置按钮被选中时的图片背景 -->
<itemandroid:state_selected="true" android:drawable="@drawable/raokl_btn_follow_clk"/>
<!-- 设置按钮获得焦点时的图片背景 -->
<itemandroid:state_focused="true" android:drawable="@drawable/raokl_btn_follow_clk"/>
<!-- 设置按钮被点击时的图片背景 -->
<itemandroid:state_pressed="true" android:drawable="@drawable/raokl_btn_follow_clk"/>
<!-- 设置按钮不响应点击等各种事件时的图片背景 -->
<itemandroid:state_enabled="false" android:drawable="@drawable/raokl_btn_follow_gray"/>
<!-- 设置按钮默认情况下的图片背景 -->
<itemandroid:drawable="@drawable/raokl_btn_follow"/>
</selector>
——————————————————————————
Xml文件配置好之后,需要添加到button中,如下:
<Button
…
android:background="@drawable/btnbgstyle"/>
如果添加到ListView中则有以下方法:
1、在xml文件中的ListView中配置:android:listSelector="@drawable/list_item_bg"
2、在ListView中的item中添加:android:background=“@drawable/list_item_bg"
3、在代码中实现:
Drawable drawable = getResources().getDrawable(R.drawable.list_item_bg);
ListView.setSelector(drawable);
如果按照以上方法配置后,列表出现为黑的情况,需要加上:
android:cacheColorHint="@android:color/transparent"使其透明。
——————————————————————————
例二:设置button的文字效果:drawable/button_font.xml
<?xmlversion="1.0"encoding="utf-8"?>
<selectorxmlns:android="http://schemas.android.com/apk/res/android">
<itemandroid:state_selected="true"android:color="#FFF"/>
<itemandroid:state_focused="true"android:color="#FFF"/>
<itemandroid:state_pressed="true"android:color="#FFF"/>
<itemandroid:color="#000"/>
</selector>
例三:设置button的渐变效果:drawable/button_color.xml
<?xmlversion="1.0"encoding="utf-8"?>
<selectorxmlns:android="http://schemas.android.com/apk/res/android">
<itemandroid:state_pressed="true">
<!— 设置点击按钮时的效果 -->
<shape>
<gradient android:startColor="#8600ff"/>
<stroke android:width="2dp"android:color="#000000"/>
<corners android:radius="5dp"/>
<padding android:left="10dp"android:top="10dp"
android:bottom="10dp"android:right="10dp"/>
</shape>
</item>
<itemandroid:state_focused="true">
<!--设置按钮获得焦点时的效果 -->
<shape>
<gradient android:startColor="#eac100"/>
<stroke android:width="2dp"android:color="#333333"color="#ffffff"/>
<corners android:radius="8dp"/>
<padding android:left="10dp"android:top="10dp"
android:bottom="10dp"android:right="10dp"/>
</shape>
</item>
</selector>
以上是用button作为例子,selector也可以设置其它控件的各种效果。
例如在ListView中的配置:
在listview中配置
要注意的是,在设置ListView中的item时这样配置之后,在滚动ListView或选中某个item时,如果item被选中的图片是圆角,就可以看到四个角会多出一些显示效果,这些就是ListView中item的高亮显示,如果想去掉这点效果请参考http://blog.csdn.net/ssmoom/article/details/14229997;- Android中selector的用法
- android中selector的用法
- Android中selector的用法
- Android中selector的用法
- Android中Selector的用法
- Android 中selector 的用法
- android中selector的用法
- Android中ListView的Selector的用法
- Android中Shape 和 Selector的用法
- android selector的用法
- Android的selector用法
- android:selector的用法
- android的selector用法
- android selector的用法
- Android中的Selector的用法
- Android中的Selector的用法
- Android中的Selector的用法
- Android中的Selector的用法
- hdu 1203 裸背包问题
- Android下拉刷新
- 【MFC】更新View对象的数据
- wubi安装的ubuntu安装mysql
- 培训网站跳出率优化:JS跳转页设计指南
- android中selector的用法
- Jetty 学习
- ArcEngine中最短路径的实现
- 解决:操作无法完成(错误0x00000709)。再次检查打印机名称,并确保打印机已连接到...
- android(八)、view触摸事件
- 用C++实现WebGIS
- nokia5110液晶初始化
- 实例讲解如何科学的建设外链
- 如何在AppDeleGate.m上添加按钮或画面(view)