控件点击事件效果实现

实现控件中点击时控件的按钮颜色的变化,有如下几个方法

1、实现Xml布局的引用

    引用xml实现按钮控件颜色的变化

 2、java代码中实现

      很多时候,按钮颜色的变化是可配的,那么引用xml布局是不可行的,只能在Java代码中动态的赋值

     2.1 OnTouch事件

public static boolean OnTouchChangeBG(View v, MotionEvent event) {
		switch (event.getAction()) {
		case MotionEvent.ACTION_DOWN:
			GradientDrawable pressgrad = new GradientDrawable(
					Orientation.TOP_BOTTOM, new int[] {
							Color.parseColor("#F8B62A"),
							Color.parseColor("#FFFFFF") });
			pressgrad.setCornerRadii(new float[] { 10f, 10f, 10f, 10f, 10f,
					10f, 10f, 10f });
			normalDrawable = (Drawable) v.getBackground();
			v.setBackgroundDrawable(pressgrad);
			break;
		case MotionEvent.ACTION_UP:
			v.setBackgroundDrawable(normalDrawable);
			break;
		case MotionEvent.ACTION_CANCEL:
			v.setBackgroundDrawable(normalDrawable);
			break;
		}
		return false;

	}


     2.2  点击事件

StateListDrawable statelistDrawable = new StateListDrawable();
			int pressed = android.R.attr.state_pressed;
			int windowfocused = android.R.attr.state_window_focused;
			statelistDrawable.addState(new int[] { pressed, windowfocused }, onBasket);
			statelistDrawable.addState(new int[] { -pressed, windowfocused }, offBasket);
			statelistDrawable.addState(new int[] {}, offBasket);
			promoImageView.setImageDrawable(statelistDrawable);



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值