我正在将我的IOS应用程序复制到Android,该应用程序大量使用Pan手势识别器,但我找不到类似的手势识别器。是否有这样的东西?
任何指导都将不胜感激,谢谢。
我正在将我的IOS应用程序复制到Android,该应用程序大量使用Pan手势识别器,但我找不到类似的手势识别器。是否有这样的东西?
任何指导都将不胜感激,谢谢。
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;
}
}
@Override
public boolean onTouchEvent(MotionEvent event) {
detector.onTouchEvent(event);
return true;
}
我认为你需要的是GestureDetector
。虽然我不太熟悉iOS的Pan Gesture Recognizer,但我认为它在Android中的工作方式并不完全相同。请参阅开发人员指南主题使用触摸手势以获取有关如何使用该类的信息。