Android onTouchEvent方法不触发ACTION_UP的解决方法

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                //触摸、按下
                setImageResource(R.mipmap.ic_music);
                break;
            case MotionEvent.ACTION_UP:
                //抬起
                setImageResource(R.mipmap.ic_launcher);
                break;
        }
        return super.onTouchEvent(event);
    }

比如这里我想实现按下去的时候改变图片样式,抬起的时候再出发抬起的效果,但是运行后发现

MotionEvent.ACTION_UP没有触发,只触发了MotionEvent.ACTION_DOWN事件,那我们想要调整触发ACTION_UP,只需要改一行代码,将上面的
return super.onTouchEvent(event);

改为

return true;

表示拦截事件,这样MotionEvent.ACTION_UP就会触发了

你可能感兴趣的:(android)