项目中非常多的Button, 同一时候配置非常多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中引用. 这样项目中全部的button仅仅要设置好背景图,就会天然带着点击效果,再也不用切图了.使用方法3: 抛砖引玉,出了透明度处理,还能够对Drawable添加其它特效,如添加边框,添加震动动画等, 用纯代码批量而简洁的给button添加丰富特效.