当前位置: 首页 > 知识库问答 >
问题:

向所有方向滑动手势(左、右、上、下)

吴丁雷
2023-03-14

我需要在我的代码中检测滑动方向。我可以检测到方向,但它就像我向右、右上方或左上方滑动一样。左边也一样,我的要求是不抬手指,如果我向左划,它应该只向左,所有的方向都一样。有人能帮帮我吗。提前感谢!

@重写公共布尔onTouchEvent(MotionEvent touchevent){

    switch (touchevent.getAction()) {
        // when the user first touches the screen we get x and y coordinate
        case MotionEvent.ACTION_DOWN: {
            x1 = touchevent.getX();
            y1 = touchevent.getY();
            break;
        }

        case MotionEvent.ACTION_MOVE: {


            x2 = touchevent.getX();
            y2 = touchevent.getY();


            float deltaX = x2 - x1;


            if (Math.abs(deltaX) > MIN_DISTANCE) {
                // Left to Right swipe action
                if (x2 > x1) {;
                    Log.e("RTL", "Right to Left Swap Performed");
                }

                else {
                    Log.e("LTR", "Left to Right Swap Performed");
                }

            } else {

                if (y2 > y1) {

                    Log.e("UTD", "UP to Down Swap Performed");
                }

                // Right to left swipe action
                else {
                    Log.e("DTU", "Down to UP Swap Performed");
                }
            }
        }
    }
    return false;
}

共有1个答案

爱亮
2023-03-14

你应该计算角度然后用它来决定。如果矢量大于你的最小距离值,那么你可以检查角度。

float angle = (float) Math.toDegrees(Math.atan2(y2 - y1, x2 - x1));
if(angle > 45 && angle <= 135) return UP;
else if(angle > 135 && angle <= 225) return LEFT;
else if(angle > 225 && angle <= 315) return DOWN;
else return RIGHT;
 类似资料:
  • 问题内容: 我所看到的和jQuery的。左右滑动的功能/方式如何? 问题答案: 您可以使用jQueryUI中的其他效果来执行此操作: 快速示例:

  • 我正在尝试实现“向左向右滑动以删除”的手势,这是在Android IC和以上版本的通知中出现的。我的应用程序中有一个listview。手势探测器在工作。但是当我在一个特定的列表项上从左到右滑动时,我希望该项随我的手指一起移动,当我移动手指超过某个点时,只有在那个点上,该项才会自行删除,我目前使用的OnFling()方法没有实现这一点。 我如何修改OnFling()方法,使项目随着我的手指移动?

  • 本文向大家介绍Android手势左右滑动效果,包括了Android手势左右滑动效果的使用技巧和注意事项,需要的朋友参考一下 最近想实现Android左滑弹出菜单框,右滑消失菜单这个个功能。了解了一下Android 的滑动事件,必须是在view组件或者Activity上实现,同时必须实现OnTouchListener, OnGestureListener这个两个接口。 以上就是本文的全部内容,希望对

  • 本文向大家介绍jQuery控制的不同方向的滑动(向左、向右滑动等),包括了jQuery控制的不同方向的滑动(向左、向右滑动等)的使用技巧和注意事项,需要的朋友参考一下 引入jquery.js,复制以下代码,即可运行。 1、slidetoggle() 交替slidedown(),slideup() Html代码 Js代码 2、左侧横向交替滑动 Animate Left Html代码 Js代码 3、左

  • 问题内容: 触摸区域http://imageshack.us/a/img836/2909/swipe1.png 用户可以在绿色区域中向上,向右,向下,向左滑动。我现在如何获得例如向上滑动?或向下滑动?或向右滑动或向左滑动?例如如何获取一个字符串-> input = getSwiped(); ->输入然后是向上,或向右,向下,或向左 用户可以触摸两个按钮。1或2。1代表鸭子,2代表跳跃。 我想同时检

  • 我搜索了一些滑动示例, 但我仍然找不到从右向左滑动的例子。 请任何一个给样品项目滑动菜单从右到左