day day up--Android背景选择器selector的使用
来源:互联网 发布:工业企业数据库 161 编辑:程序博客网 时间:2024/04/30 13:14
在Android开发中,当某个元素例如Button或者ImageView获得焦点时,我们需要它显示出获得焦点(focused)、被按下(pressed)等等的效果,这时候我们可以使用selector选择器来实现。
Android中配置selector的方法很简单,这里以Button元素的背景选择为例来介绍。准备两张图片(一张未获得焦点btn.png和一张获得焦点的图片btn_on.png),新建一个selector配置的文件例如sl_btn.xml,它们都存放于res/drawable/文件夹内。然后配置Button控件的属性代码如下所示:
<Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/sl_btn"/>
还可以在Java代码中实现,R.drawable.sl_btn引用。其中属性android:background设置为配置文件sl_btn.xml,这点很容易理解,使得Button的背景由配置文件sl_btn.xml来控制,具有很高的灵活性。然后配置sl_btn.xml文件,如下代码所示:
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/btn_on" android:state_focused="true"/> <item android:drawable="@drawable/btn"/></selector>
该选择器有两个item,android:drawable属性表示背景图片,android:state_focused属性为true表示当控件状态是获得焦点时,呈现该item所代表的选择,默认为未获得焦点的,即下面的item的背景为未获得焦点的图片btn.png,上面的item的背景为获得焦点的图片btn_on.png。这样就可以呈现出按钮的动态效果。
这只是简单的selector配置,除了获得焦点,还可以配置其他属性,例如被按下android:state_pressed、被选中android:state_selected等等,可以配置各种状态下的效果。其实在背景切换呈现也就是选择器工作的过程中可以通过shape实现很多动画效果。
- day day up--Android背景选择器selector的使用
- day day up--Android开发TimePicker的使用
- android的selector,背景选择器的使用
- Android的selector背景选择器使用
- Android selector背景选择器的使用详解
- android selector 背景选择器的使用
- Android selector背景选择器的使用详解
- Android selector背景选择器的使用详解
- day day up--Android开发之Fragment使用
- android的selector,背景选择器
- android的selector,背景选择器
- Android的selector,背景选择器
- Android 的 selector--背景选择器
- Android的selector,背景选择器
- Android的selector,背景选择器
- Android的selector,背景选择器
- android的selector,背景选择器
- android的selector,背景选择器
- ubuntu安装中文输入法
- Android 性能优化 三 布局优化ViewStub标签的使用
- 以cocos2d-x之名:c++知识回顾二
- COCOS2D-X中45度地图通过位置获得对应行列数中的三角变换理解
- Python 提取新浪微博的博文中的元素(包含Text, Screen_name)
- day day up--Android背景选择器selector的使用
- 必备文档:iOS常用目录整理说明
- 数据库基本概念
- mac下常用的软件
- NYOJ 158 省赛来了
- python -- PyMongo
- 线段树个人模板
- error : This file requires _WIN32_WINNT to be #defined at least to 0x0403. Value 0x0501 or higher
- 数据库约束和CRUD操作