首页 > 代码库 > Android 纯代码添加点击效果

Android 纯代码添加点击效果

项目中很多的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增加其他特效,如增加边框,增加震动动画等, 用纯代码批量而简洁的给按钮增加丰富特效.