Android 纯代码加入点击效果

项目中非常多的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添加丰富特效.



posted @ 2015-02-10 15:20  zfyouxi  阅读(374)  评论(0编辑  收藏  举报