项目中很多的Button, 同时配置很多按钮切图,Selector是不是很烦, 使用下面这个类,就可以直接为Button增加点击效果. 不用多个图片,不用Selector.
用法:Button.setOnTouchListener(Effect_Click.getInstance());
效果图:
源码:
class Effect_Click implements OnTouchListener { private static Effect_Click Effect_Click; public static Effect_Click getInstance() { if (Effect_Click == null) { Effect_Click = new Effect_Click(); } return Effect_Click; } private Effect_Click() { } @Override public boolean onTouch(View arg0, MotionEvent arg1) { if (arg1.getAction() == MotionEvent.ACTION_DOWN) { arg0.getBackground().setAlpha(450); } else if (arg1.getAction() == MotionEvent.ACTION_UP) { arg0.getBackground().setAlpha(999); } arg0.invalidate(); return false; } }
用法1: Button.setOnTouchListener(Effect_Click.getInstance());
用法2: 自己可以进行二次封装, 比如实现自己的MyButton,直接在XML中引用. 这样项目中所有的按钮只要设置好背景图,就会天然带着点击效果,再也不用切图了.用法3: 抛砖引玉,出了透明度处理,还可以对Drawable增加其他特效,如增加边框,增加震动动画等, 用纯代码批量而简洁的给按钮增加丰富特效.
Android 纯代码添加点击效果,布布扣,bubuko.com
原文地址:http://blog.csdn.net/landehuxi/article/details/34841195