(备忘)自定义viewgroup与点击分发事件

public class ScoreButton extends ViewGroup

在类中重写onTouchEvent方法

@Override
public boolean onTouchEvent(MotionEvent event) {

switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
Log.i("aaa","action_down");
setState(state.PRESSED);
break;
case MotionEvent.ACTION_UP:
Log.i("aaa","action_up");
setState(state.RUNNING);
mMoveCircle.startAnimation(animation);
break;
}

发现ACTION_UP事件从来不执行

解决办法:在调用此控件的MainActivity中拿到此控件的对象,并且

给它设置一个onclicklistener(传入null也可以)

scoreButton.setOnClickListener(null);

这样就可以监听到ACTION_UP事件了(以及ACTION_MOVE等)

======================================

在相对布局或者帧布局文件中,通常写在下面的控件后渲染,所以显示在最顶层

但是就算是写到上面导致被遮住了,只要遮住它的控件不拦截点击事件,它仍能响应点击事件(虽然看不到)

转载于:https://www.cnblogs.com/BlogCommunicator/p/4931364.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值