android默认的Imagebutton按下去之后没有一点变化,实在让人受不了。这次在重新写摄像头相关的demo时,特意学习了这方面的内容。
第一种方法:
前文http://blog.csdn.net/yanzi1225627/article/details/7814392这是一种思路,可以用美图秀秀将同一个图片做成不同的灰度/色调效果,保存成同样大小的图片,然后利用http://blog.csdn.net/yanzi1225627/article/details/7814392这里设置成点击显示不同色调灰度的同一副图片。
第二种方法:
还是同样的思路,只不过不是在xml文件里,而是在java程序里更改点击显示不同图片,如下:
imageButton.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN){
//更改为按下时的背景图片
v.setBackgroundResource(R.drawable.pressed);
}else if(event.getAction() == MotionEvent.ACTION_UP){
//改为抬起时的图片
v.setBackgroundResource(R.drawable.released);
}
return false;
}
});
第三种方法:
这也是我采用的方法。前两种方法在按键多的情况下用起来很不方便,当然不排除个别情况下就需要显示不同的图片。这里用颜色矩阵的方法,只需一张照片,就可以实现效果。且这个效果可以往任何一个ImageButton上绑定。代码如下:
/*为了使图片按钮按下和弹起状态不同,采用过滤颜色的方法.按下的时候让图片颜色变淡*/
public class MyOnTouchListener implements OnTouchListener{
public final float[] BT_SELECTED=new float[]
{ 2, 0, 0, 0, 2,
0, 2, 0, 0, 2,
0, 0, 2, 0, 2,
0, 0, 0, 1, 0 };
public final float[] BT_NOT_SELECTED=new float[]
{ 1, 0, 0, 0, 0,
0, 1, 0, 0, 0,
0, 0, 1, 0, 0,
0, 0, 0, 1, 0 };
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
if(event.getAction() == MotionEvent.ACTION_DOWN){
v.getBackground().setColorFilter(new ColorMatrixColorFilter(BT_SELECTED));
v.setBackgroundDrawable(v.getBackground());
}
else if(event.getAction() == MotionEvent.ACTION_UP){
v.getBackground().setColorFilter(new ColorMatrixColorFilter(BT_NOT_SELECTED));
v.setBackgroundDrawable(v.getBackground());
}
return false;
}
}
可以用我http://blog.csdn.net/yanzi1225627/article/details/8577756这里的图片测试下,ImageButton按下后会有类似风车旋转的动画特效。
核心参考:
http://blog.sina.com.cn/s/blog_972ddc1b010113df.html
http://www.cnblogs.com/xiaowenji/archive/2011/02/04/1949165.html
http://blog.csdn.net/sytzz/article/details/5673662
分享到:
相关推荐
Android应用源码开发Demo,主要用于毕业设计学习。
ImageButton图片按钮
Android ImageButton图片按钮Demo源码.rar
ImageButton按下切换图片.rar ImageButton按下切换图片.rar ImageButton按下切换图片.rar
安卓Android源码——(ImageButton图片按钮).zip
安卓Android源码——(ImageButton图片按钮).rar
通过gdi+编程,使用graphics 对象的方法将图片画到屏幕上,实现一个图片按钮。
android 按钮也能随点击变换 ImageButton选择特效
delphi6-7 控件ImageButton
ImageButton.msi
在android中有一个ImageButton的View,跟Button按钮的区别是可以在Imagebutton上加载一个图片。 从ImageButton这个字面意思上来看,它是一个图片按钮,那么我们就可以使用它做一个我们想要的图片按钮了,但是我们在...
android imagebutton 来回切换图片
NULL 博文链接:https://andy2019.iteye.com/blog/1537481
Flex4 自定义通用ImageButton
一直找不到漂亮的按钮控件。还是图片式的按钮最漂亮。该控件继承自System.Windows.Form.Button,具有mouseover,mousedown的效果。用户仅需提供三张图片(常态,mouseover,mousedown三个状态)即可!...
Android 单击选中的ImageButton[]图像数组用法示例,类似于Radio的功能,不过用图片表现,这样可使Android UI更加友好,视觉更漂亮一些,用户轻触图片,即可选中该数据项,比Radio用户体验更好,如截图所示的选中...
陆陆续续完成了ImageView和Button控件的讲解之后,我们设想在Android中有没有...答案是——有的,本节内容我就来介绍这个ImageView和Button的和产物ImageButton。课程见:http://www.ourunix.org/android/post/126.html
android ImageButton的使用,有源码解析的
android imagebutton点击变化 源码