Android - ImageButton单击切换按钮图片效果的实现
来源:互联网 发布:javascript xml 编辑:程序博客网 时间:2024/05/02 03:01
在android中有一个ImageButton的View,跟Button按钮的区别是可以在Imagebutton上加载一个图片。
从ImageButton这个字面意思上来看,它是一个图片按钮,那么我们就可以使用它做一个我们想要的图片按钮了,但是我们在实际使用的过程当中,就会发现该按钮的使用并没有想像中的那么简单,需要再增加一些代码或再配置XML才能实现图片按钮按下的效果,个人感觉有点麻烦,不知道google为什么这么做?
下面是个图片按钮正常状态的效果:
下面是图片按钮按下的效果图片:
我们来看一下如何实现上面的效果。
实现图片按钮按下的效果有两种方式可以实现:一是增加代码,二配置XML。
一、在java中为图片按钮增加触摸监听的函数来实现图片切换,代码如下:
- ImageButton btn = (ImageButton)findViewById(R.id.imageButton1);
- btn.setOnTouchListener(new View.OnTouchListener(){
- public boolean onTouch(View v, MotionEvent event) {
- if(event.getAction() == MotionEvent.ACTION_DOWN){
- //重新设置按下时的背景图片
- ((ImageButton)v).setImageDrawable(getResources().getDrawable(R.drawable.android_btn_pressed));
- }else if(event.getAction() == MotionEvent.ACTION_UP){
- //再修改为抬起时的正常图片
- ((ImageButton)v).setImageDrawable(getResources().getDrawable(R.drawable.android_btn));
- }
- return false;
- }
- });
二、通过给按钮配置XML文件来实现图片按钮的背景切换效果,方法如下:
1) 在Layout下增加一个image_btn_press.xml文件,内容如下:
- <?xml version="1.0" encoding="utf-8"?>
- <selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_pressed="false" android:drawable="@drawable/android_btn" />
- <item android:state_focused="true" android:drawable="@drawable/android_btn" />
- <item android:state_pressed="true" android:drawable="@drawable/android_btn_pressed" />
- </selector>
或者你也可以将state_focused的整个属性行删除。
另外,该XML配置文件不一定要存放在layout的目录下,您也可以存放在drawable的目录下。
2) 在main.xml中设置图片按钮的属性,装上面的xml文件增加到图片按钮中,内容如下:
- <ImageButton
- android:id="@+id/imageButton2"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:background="@layout/image_btn_press" />
另外,需要特别注意的是:在ImageButton中,如果使用XML配置文件来设置图片的效果的话,就不要再指定它的android:src=""属性值了,否则图片的按下效果就出不来了。
这两种方法各有各的好处,在实际运用过种当种可以根据自己的需要进行选择。
附上面实例的源代码下载:http://download.csdn.net/detail/ztp800201/4106649
- Android - ImageButton单击切换按钮图片效果的实现
- Android - ImageButton单击切换按钮图片效果的实现
- Android - ImageButton单击切换按钮图片效果的实现
- Android - ImageButton单击切换按钮图片效果的实现 .
- Android - ImageButton单击切换按钮图片效果的实现 .
- Android - ImageButton单击切换按钮图片效果的实现
- Android - ImageButton单击切换按钮图片效果的实现
- Android - ImageButton单击切换按钮图片效果的实现
- Android - ImageButton单击切换按钮图片效果的实现
- selector使用与ImageButton单击按钮图片效果的实现
- ImageButton单击切换图片效果
- Android 图片实现按钮点击切换效果
- Android 图片实现按钮点击切换效果
- 自己写的鼠标单击按钮实现图片切换
- Android中ImageButton自定义按钮的按下效果的代码实现方法
- android自定义ImageButton按钮的按下效果的代码实现
- Android中ImageButton自定义按钮的按下效果的代码实现方法
- Android ImageButton自定义按钮的按下效果的代码实现方法
- 【android基础】之android Toast大全
- 纯无聊贴(庆祝清明)
- VS2010为Picture Control 手动添加变量
- Understanding Android ContentProvider
- JSP自定义标签(一) 树形下拉选择菜单
- Android - ImageButton单击切换按钮图片效果的实现
- 未来物联网时期安防企业如何失掉话语权
- Android 面试题笔记-------bindservice与startservice的生命周期?
- android - ListView的使用
- 01_南理学工学院OJ_部分简单题目
- 生活之中需要注意的一些事情
- 主要的技术Blog网站
- flexlib SuperTabNavigator 无法访问空对象引用的属性或方法
- dbms_xplan.display_cursor 获取执行过的sql的执行计划