首页 > 解决方案 > Android:onTouchEvent 中断

问题描述

我正在创建一个 android 游戏并且有一个onTouchEvent这样的:

 @Override
public boolean onTouchEvent(MotionEvent event) {

    if (event.getAction() == MotionEvent.ACTION_DOWN) {
        if (!action) {
            action = true; 
        }
    } else {
        action=false;
    }
    return true;
}

我现在的问题是,只要我稍微滑动手指,那个动作就是错误的。

谢谢你的帮助,
弗洛里安

标签: javaandroidontouchlisteneractioneventandroid-touch-event

解决方案


如果即使在滑动输入发生时也想返回 true,您可以存储最后一个动作以比较最后一个动作是否为 ACTION_DOWN 并且当前的 'event.getAction()' 也是 ACTION_DOWN,那么您可以假设滑动动作发生(如果之前的 'x' 和 'y' 位置与当前的 'x' 和 'y' 位置不同),因此仍然返回 true。任何其他情况,您都可以返回 false。

您还可以尝试查看有关滑动输入动作/手势的 android API 文档。

希望这会有所帮助。


推荐阅读