Rol*_*oll 5 android cocoa-touch uigesturerecognizer ios
我正在复制我的IOS应用程序,它大量使用Pan Gesture Recognizer到Android,我找不到类似的Gesture识别器.有这样的事吗?
任何方向表示赞赏谢谢
我想你要找的是GestureDetector. 我对 iOS 的 Pan Gesture Recognizer 不是很熟悉,但我认为它在 Android 中的工作方式并不完全相同。有关如何使用该类的信息,请参阅开发人员指南主题使用触摸手势。
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,如下所示:
Run Code Online (Sandbox Code Playgroud)@Override public boolean onTouchEvent(MotionEvent event) { detector.onTouchEvent(event); return true; }