Android_按钮被按下效果的实现(selector选择器)
2013-06-20 15:27
218 查看
在很多刚入门的新手在开发实例的过程中,经常会遇到要按下某个ImageView时,需要加入确认感的时候.需要在按下的时候,控制ImageVIew内图片的显示.
在我是新手的时候,也这样做过.
所以这里简单介绍一下selector选择器的使用.
首先定义需要准备两张图片,一张不按下去的,一张是按下去的.
分别叫做button_unpressed.png 和button_pressed.png
把他们放大drawable文件目录下(与要开发应用需要的分辨率文件夹中).
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 默认时的背景图片 -->
<item android:drawable="@drawable/pic1" />
<!-- 没有焦点时的背景图片 -->
<item android:state_window_focused="false"
android:drawable="@drawable/pic1" />
<!-- 非触摸模式下获得焦点并单击时的背景图片 -->
<item android:state_focused="true" android:state_pressed="true"
android:drawable= "@drawable/pic2" />
<!-- 触摸模式下单击时的背景图片 -->
<item android:state_focused="false" android:state_pressed="true"
android:drawable="@drawable/pic3" />
<!--选中时的图片背景 -->
如果你的工程的res文件目录下没有drawable文件(不带分辨率).则需要新建一个drawable文件夹(不带分辨率)
新建一个xml文件,取名叫做 button_selector.xml
xml代码如下
这样我们的selector选择器就配置好了.
然后接下来,我们就可以需要使用它;
然后运行效果看看吧.
注意: selector文件 不管是在xml中或者是代码中使用方法 跟调用图片的方式是一样的.
某些组件使用selector是不会有效果的.例如ImageView组件,因为ImageView是非焦点组件.不会获取
屏幕焦点.所有的非焦点组件都不会响应selector内定义的内容.
在我是新手的时候,也这样做过.
所以这里简单介绍一下selector选择器的使用.
首先定义需要准备两张图片,一张不按下去的,一张是按下去的.
分别叫做button_unpressed.png 和button_pressed.png
把他们放大drawable文件目录下(与要开发应用需要的分辨率文件夹中).
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 默认时的背景图片 -->
<item android:drawable="@drawable/pic1" />
<!-- 没有焦点时的背景图片 -->
<item android:state_window_focused="false"
android:drawable="@drawable/pic1" />
<!-- 非触摸模式下获得焦点并单击时的背景图片 -->
<item android:state_focused="true" android:state_pressed="true"
android:drawable= "@drawable/pic2" />
<!-- 触摸模式下单击时的背景图片 -->
<item android:state_focused="false" android:state_pressed="true"
android:drawable="@drawable/pic3" />
<!--选中时的图片背景 -->
如果你的工程的res文件目录下没有drawable文件(不带分辨率).则需要新建一个drawable文件夹(不带分辨率)
新建一个xml文件,取名叫做 button_selector.xml
xml代码如下
1 2 3 4 5 6 7 8 9 | <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="false" android:drawable="@drawable/button_unpressed" /> <item android:state_pressed="true" android:drawable="@drawable/button_pressed" /> </selector> |
然后接下来,我们就可以需要使用它;
1 2 3 4 5 6 7 8 | <Button android:id="@+id/setting" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/button_selector" /> |
注意: selector文件 不管是在xml中或者是代码中使用方法 跟调用图片的方式是一样的.
某些组件使用selector是不会有效果的.例如ImageView组件,因为ImageView是非焦点组件.不会获取
屏幕焦点.所有的非焦点组件都不会响应selector内定义的内容.
相关文章推荐
- Android_按钮被按下效果的实现(selector选择器)
- Android selector 最佳写法 用一张图片实现按钮按下和普通效果的样式
- Android 仿京东商城底部布局的选择效果(Selector 选择器的实现)
- android selector 背景选择器的使用, button (未点击,点击,选中保持状态)效果实现
- android selector 背景选择器的使用, button (未点击,点击,选中保持状态)效果实现
- android中listview的item点击切换实现效果(选择器selector)
- Android按钮点击效果的实现(selector)
- Android按钮点击效果的实现(selector)
- Android 按钮效果的两种实现方法
- Android实现定制返回按钮动画效果的方法
- Android进阶之路 - timeSelector(日期选择器)简单、方便、快速的实现方式
- 转载 :Android中ImageButton自定义按钮的按下效果的代码实现方法,附网上2种经典解决方法。
- Android中使用自定义selector来实现view的点击效果以及view的显示样式
- Android selector item 属性大全(按钮按下不同效果)
- Android中ImageButton自定义按钮的按下效果的代码实现方法
- Android 图片实现按钮点击切换效果
- android-代码实现xml中selector效果
- Android中图片实现按钮点击效果
- android checkBox背景样式及用颜色值实现按钮点击效果
- 开源中国(oschina)Android客户端主页返回按钮效果实现