Android 开发:setOnTouchListener 中判断点击事件
在 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 的范围内来判断是否发生了点击事件。
原文地址: http://www.cveoy.top/t/topic/8vd 著作权归作者所有。请勿转载和采集!