如何在android中检测多个手势?

时间:2014-02-13 10:37:22

标签: android gesture detection

我想检测多个手势,例如,用三根手指检测滚动。 当我用三根手指滚动时,将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我们知道正在采取哪些行动,但我们不知道我们使用了多少手指。

我想要的是组合它们:用多个手指进行手势,例如用三个手指滚动等。

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

1 个答案:

答案 0 :(得分:0)

可以尝试event.getPointerCount();