Pan Gesture识别器适用于Android?

Rol*_*oll 5 android cocoa-touch uigesturerecognizer ios

我正在复制我的IOS应用程序,它大量使用Pan Gesture Recognizer到Android,我找不到类似的Gesture识别器.有这样的事吗?

任何方向表示赞赏谢谢

Ted*_*opp 5

我想你要找的是GestureDetector. 我对 iOS 的 Pan Gesture Recognizer 不是很熟悉,但我认为它在 Android 中的工作方式并不完全相同。有关如何使用该类的信息,请参阅开发人员指南主题使用触摸手势


num*_*ati 5

Android开箱即用,其中包含两个可识别手势的类。一个是GestureDetector,另一个是ScaleGestureDetector。

与ios不同,基本手势检测器框架是受限制的-您无法像在ios的UiGestureRecognizer类中那样指定依赖项,进行冲突解决或通过指定接触点进行配置等。

要回答您的问题,可以使用GestureDetector检测到平移。这是一个片段:

PanGestureListener listener = new PanGestureListener();
GestureDetector detector = new GestureDetector(context, listener);

class PanGestureListener extends GestureDetector.SimpleOnGestureListener {

    @Override
    public boolean onScroll(MotionEvent e1, 
                            MotionEvent e2, 
                            float distanceX, 
                            float distanceY) {

        //YOUR "pan handler"
        return true;
    }

}
Run Code Online (Sandbox Code Playgroud)

现在,在您的onTouch方法中,将所有调用转发到detector.onTouch,如下所示:

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        detector.onTouchEvent(event);
        return true;
    }
Run Code Online (Sandbox Code Playgroud)

  • 如何将平移手势添加到特定视图?就我而言,是相对布局 (2认同)