setOnTouchListener 中判断点击事件,可以通过 MotionEvent 的动作类型来判断。以下是一个示例代码:

yourView.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                // 手指按下事件
                return true;
            case MotionEvent.ACTION_MOVE:
                // 手指移动事件
                return true;
            case MotionEvent.ACTION_UP:
                // 手指抬起事件
                float x = event.getX();
                float y = event.getY();
                if (x > v.getLeft() && x < v.getRight() && y > v.getTop() && y < v.getBottom()) {
                    // 点击在 View 范围内
                }
                return true;
        }
        return false;
    }
});

在上面的代码中,当手指按下时会触发 ACTION_DOWN 事件,手指移动时会触发 ACTION_MOVE 事件,手指抬起时会触发 ACTION_UP 事件。在 ACTION_UP 事件中,可以通过判断点击的坐标是否在 View 的范围内来判断是否发生了点击事件。

Android 开发:setOnTouchListener 中判断点击事件

原文地址: http://www.cveoy.top/t/topic/8vd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录