新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
有时单击ImageButton图片按钮时需要获取变换图片的效果,在这里介绍两种方法仅供参考
崇阳网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。成都创新互联公司于2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司。
正常显示
点击切换
方法一:通过给按钮配置XML文件来实现图片按钮的背景切换效果
在layout或者是drawable文件下添加一个p_w_picpathbtn_select.xml文件
其中的
是指是否取得焦点,比如用户选择了一个文本框。
再在main.xml文件中设置ImageButton属性,并引用上述文件作为图片按钮的背景
这里千万不能设置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()来设置背景图片即可。