有时单击ImageButton图片按钮时需要获取变换图片的效果,在这里介绍两种方法仅供参考

正常显示

点击切换

方法一:通过给按钮配置XML文件来实现图片按钮的背景切换效果

在layout或者是drawable文件下添加一个p_w_picpathbtn_select.xml文件<?xml  version="1.0" encoding="utf-8"?>

其中的

是指是否取得焦点,比如用户选择了一个文本框。

再在main.xml文件中设置ImageButton属性,并引用上述文件作为图片按钮的背景

android:id="@+id/p_w_picpathbtn1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:background="@drawable/p_w_picpathbtn_select"

/>

这里千万不能设置android:src属性,否则将无法显示图片切换效果

方法二:在java代码中为图片按钮增加触摸监听的函数来实现图片切换final ImageButton btn = (ImageButton)findViewById(R.id.p_w_picpathbtn1);

btn.setOnTouchListener(new View.OnTouchListener(){

public boolean onTouch(View v, MotionEvent event) {

if(event.getAction() == MotionEvent.ACTION_DOWN){

//重新设置按下时的背景图片

btn.setImageResource(R.drawable.smile);

}else if(event.getAction() == MotionEvent.ACTION_UP){

//再修改为抬起时的正常图片

btn.setImageResource(R.drawable.love);

}

return false;

}

});

这里讲解下onClick()和onTouch()方法的区别:

onClick传入的参数就一个onClick(View v)而 onTouch为onTouch(View v, MotionEvent event)显然后者可以对控件有更丰富的操作,比如判断触摸的状态(比如按下,或者放开),和得到点击的位置等等,因此可以通过观察方法参数来推测方法的使用

利用MotionEvent.getAction()函数判断用户触发事件的类型,有2种类型:

1、MotionEvent.ACTION_DOWN  按下事件

2、MotionEvent.ACTION_UP    抬起事件

通过event.getAction()来获取用户的动作 ,

根据事件的不同通过调用setImageResource()来设置背景图片即可。

android怎么点击换图片,ImageButton单击切换按钮图片相关推荐

  1. Android - ImageButton单击切换按钮图片效果的实现

    在android中有一个ImageButton的View,跟Button按钮的区别是可以在Imagebutton上加载一个图片. 从ImageButton这个字面意思上来看,它是一个图片按钮,那么我们 ...

  2. ImageButton单击切换按钮图片

    有时单击ImageButton图片按钮时需要获取变换图片的效果,在这里介绍两种方法仅供参考 正常显示 点击切换 方法一:通过给按钮配置XML文件来实现图片按钮的背景切换效果 在layout或者是dra ...

  3. QT实现点击按钮,切换按钮图片

    对于实现QT中点击按钮切换按钮图片的功能,之前学习时做过一个项目,用到过这个功能. 之前是用代码的方式实现,后来实习之后,参与的一个项目中也用到这个功能,所以借此机会学习了一种新方法. 新方法不用代码 ...

  4. WPF 动态切换按钮图片

    WPF动态切换按钮图片就是在鼠标移上去的时候显示另一张图片 首先先把三张图片放上去 第一张 第二张 第三张 然后给他们一个值,鼠标移上去的时候是true,显示图片,鼠标移开的时候显示false不显示图 ...

  5. Qt 实现按钮点击切换按钮图片

    最近在做一个课程设计(智能家居管家),因为控制要用到门,灯,警报等一系列至少拥有两个状态的物品,所以想弄一个切换图片的效果,点击按钮一次,按钮上的图片切换成另一个图片(另一个状态),再次点击切换回去. ...

  6. qt中如何模拟按钮点击_Qt 实现按钮点击切换按钮图片

    最近在做一个课程设计(智能家居管家),因为控制要用到门,灯,警报等一系列至少拥有两个状态的物品,所以想弄一个切换图片的效果,点击按钮一次,按钮上的图片切换成另一个图片(另一个状态),再次点击切换回去. ...

  7. android自动切换图片,android-自动切换背景图片

    因为好用,所以值得收藏.  >>>>  >>>>>  一.创建切换背景布局类 public class LaunchAppAnimatedBgRe ...

  8. python点击按钮改变图片_单击tkinter按钮时更改图片

    点击了python和一些按钮后,会产生一些颜色变化的按钮 当单击按钮时,是否可以更改按钮使用的.gif?我希望它在GPIO引脚关闭时显示ON,在GPIO引脚打开时显示off.在 目前我有:#BCM17 ...

  9. php 单击图片放大,单击样列图片放大,再次点击缩回原图

    通过点击图片来触发事件是需要使用控件方式 下面是另一种思路(单元格变化触发事件),在A列内直接写入图片名称, 图片放在"ThisWorkbook.Path & "\test ...

最新文章

  1. 解决android引用library project错误
  2. ActivityIndicator(菊花)的用法
  3. 矩阵是怎样变换向量的
  4. Linux - which xxx - 查找执行的命令所在的路径
  5. 《算法图解》——狄克斯特拉算法
  6. Android模拟器adb命令介绍
  7. Python操作微信群发消息检测僵尸粉
  8. Linux宝塔禁止国外ip访问服务器,屏蔽国外ip访问网站代码
  9. 学号在java是什么意思_在JAVA程序中增加姓名学号
  10. 利润统计函数c语言,C语言计算内部回报率(或名内部收益率)(IRR)
  11. JS 关于事件冒泡,事件捕获,阻止事件冒泡,取消默认事件
  12. 德赛西威Mib280D升级0393版本系统
  13. 全新版大学英语综合教程第一册学习笔记(原文及全文翻译)——7 - Kids On The Track(生死时刻)
  14. 关于yolov5训练大量数据存在的问题记录
  15. java实现爬取文本中的手机号、邮箱以及电话号码
  16. NOI2010~NOI2018选做
  17. 速卖通打印标签快递单条形码太细小导致打印出来的条形码挤在一起,扫描枪无法识别,如何打印出清晰的条形码
  18. 阿尔法编程python答案第四章_智慧职教Python编程基础答案第四章单元测试答案
  19. 计算机为用户设置上网时间,电脑怎么设置上网时间限制
  20. 问题分享:Word中图片显示不全的解决方法

热门文章

  1. 献给80还有少数90
  2. python中plot线条的形状、标记符号和颜色详情
  3. Hypothesis Test Overview
  4. 华大单片机HC32L130J6TA入坑全纪录(二)——关于SWD下载的问题
  5. 金标股份冲刺A股上市:计划募资约6亿元,许光荣为董事长
  6. cuda C++ cuFloatComplex/cufftComplex/复数 exp
  7. 荣耀8x手机换电池实战
  8. JavaScript中变量判断是否是数字,判断是否是整数,判断是否是正整数/负整数,判断奇数/偶数的方法
  9. 详解交换机的GVRP
  10. 外媒预测2015年十大最热门工作