【问题标题】:How to detect multiple gestures in android?如何检测android中的多个手势?
【发布时间】:2014-02-13 10:37:22
【问题描述】:

我想检测多个手势,例如,用三个手指检测滚动。 当我用三个手指滚动时,将 textview 的文本设置为“YES”,对于其他情况,将其设置为“NO”。

这是我目前得到的:

private GestureDetector detector;

detector = new GestureDetector(getApplicationContext(), this);

layout.setOnTouchListener(new OnTouchListener() {
    public boolean onTouch(View v, MotionEvent event) {
        return true;
    }
});

问题是:在onTouch方法中,我们可以检测到touching(event.getpointcount())有多少个手指,但是我无法得到滚动等哪个动作。 如果我用这种方法这样写:return detector.onTouchEvent(event) 我写了一些方法,例如onDownonFling 等,我可以检测到向下、滚动、滑动等,但这只是针对一根手指。

我希望你明白我的意思。我把这两件事混为一谈:

  • multi touch我们可以知道有多少个手指,但我们不知道哪个动作
  • single gesture我们知道正在执行哪个动作,但我们不知道我们使用了多少根手指。

我想要的是结合它们:多指手势,例如三指滚动等。

你能帮帮我吗?提前谢谢你。

【问题讨论】:

    标签: android gesture detection


    【解决方案1】:

    可以试试event.getPointerCount();

    【讨论】:

    • event.getPointerCount() 用于 OnTouch 方法中,我们只能检测 ACTION_DOWN、ACTION_UP、ACTION_MOVE。我们无法在那里检测到 ACTION_SCROLL
    猜你喜欢
    • 2019-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多