我有一个按钮和 OnTouchListener 附加到它。我怎样才能找到运动(当用户按下按钮时)发生在它内部还是外部?event.getAction() 和 event.getActionMasked() 都只返回 0、1 或 2,分别是 ActionDown、ActionUp、ActionMove。有一个常量 MotionEvent.ACTION_OUTSIDE,即 4,但不知何故,即使我将触摸拖到按钮外,我也没有收到它 - 我仍然从两种方法中收到 2。有什么问题?
UPD:我找到了很好的解决方案 - 只需在 ACTION_UP 之后检查视图中的聚焦状态。如果它没有聚焦,则意味着运动发生在视图之外。