# mapbox-gestures-ohos **Repository Path**: chinasoft5_ohos/mapbox-gestures-ohos ## Basic Information - **Project Name**: mapbox-gestures-ohos - **Description**: mapbox-gestures-ohos库包装了GestureDetectorCompat,并引入了缩放、旋转、移动、推和点击手势检测器的实现。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2021-07-17 - **Last Updated**: 2024-06-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mapbox-gestures-ohos #### 项目介绍 - 项目名称:mapbox-gestures-ohos - 所属系列:openharmony第三方组件适配移植 - 功能:mapbox-gestures-ohos库包装了GestureDetectorCompat,并引入了缩放、旋转、移动、推和点击手势检测器的实现。 - 项目移植状态:主功能完成,暂不支持x轴与Y轴旋转功能 - 调用差异:无 - 开发版本:sdk6,DevEco Studio 2.2 Beta1 - 基线版本:v0.7.0 #### 效果演示 ![mapbox-gestures-ohos](https://gitee.com/chinasoft5_ohos/mapbox-gestures-ohos/raw/master/screenshots/mapbox.gif) #### 安装教程 1.在项目根目录下的build.gradle文件中, ```JAVA allprojects { repositories { maven { url 'https://s01.oss.sonatype.org/content/repositories/releases/' } } } ``` 2.在entry模块的build.gradle文件中, ```JAVA dependencies { implementation('com.gitee.chinasoft_ohos:mapbox-gestures-ohos:1.0.0') ...... } ``` 在sdk6,DevEco Studio 2.2 Beta1下项目可直接运行 如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下 #### 使用说明 **mapbox-gestures-ohos** 库包装了GestureDetectorCompat,并引入了缩放、移动和点击手势检测器的实现。缺失指定轴旋转、推(X轴旋转)功能; 1. 首先,您必须获取OhosGesturesManager的实例来初始化它并开始调用所需的函数. ```java OhosGesturesManager ohosGesturesManager = new OhosGesturesManager(this); ``` 2. 设置StandardScale监听 ```java ohosGesturesManager.setStandardScaleGestureListener( new StandardScaleGestureDetector.SimpleStandardOnScaleGestureListener() { @Override public boolean onScale(StandardScaleGestureDetector detector) { ... return true; } }); ``` 3. 设置Rotate监听 ```java ohosGesturesManager.setRotateGestureListener(new RotateGestureDetector.SimpleOnRotateGestureListener() { @Override public boolean onRotate(RotateGestureDetector detector, float rotationDegreesSinceLast, float rotationDegreesSinceFirst) { ... return true; } }); ``` 4. 设置Standard监听 ```java ohosGesturesManager.setStandardGestureListener(new StandardGestureDetector.SimpleStandardOnGestureListener() { @Override public boolean onScroll(TouchEvent e1, TouchEvent e2, float distanceX, float distanceY) { ... return false; } @Override public boolean onDoubleTap(TouchEvent e) { rescaleIcon(1.40f); return true; } }); ``` 5. 设置MultiFingerTap监听 ```java ohosGesturesManager.setMultiFingerTapGestureListener( new MultiFingerTapGestureDetector.OnMultiFingerTapGestureListener() { @Override public boolean onMultiFingerTap(MultiFingerTapGestureDetector detector, int pointersCount) { ... return true; } }); ``` 6. 设置Shove监听 ```java ohosGesturesManager.setShoveGestureListener(new ShoveGestureDetector.SimpleOnShoveGestureListener() { @Override public boolean onShove(ShoveGestureDetector detector, float deltaPixelsSinceLast, float deltaPixelsSinceStart) { ... return true; } }); ``` 7. 设置Shove监听 ```java ohosGesturesManager.setSidewaysShoveGestureListener( new SidewaysShoveGestureDetector.SimpleOnSidewaysShoveGestureListener() { @Override public boolean onSidewaysShove(SidewaysShoveGestureDetector detector, float deltaPixelsSinceLast, float deltaPixelsSinceStart) { ... return true; } }); ``` 8. 设置Shove监听 ```java ohosGesturesManager.setMoveGestureListener( new MoveGestureDetector.OnMoveGestureListener() { @Override public boolean onMoveBegin(MoveGestureDetector detector) { return true; } @Override public boolean onMove(MoveGestureDetector detector, float distanceX, float distanceY) { icon.setTranslationX(icon.getTranslationX() - distanceX); icon.setTranslationY(icon.getTranslationY() - distanceY); return true; } @Override public void onMoveEnd(MoveGestureDetector detector, float velocityX, float velocityY) { } }; ); ``` #### 测试信息 CodeCheck代码测试无异常 CloudTest代码测试无异常 病毒安全检测通过 当前版本demo功能与原组件基本无差异 #### 版本迭代 - 1.0.0 #### 版权和许可信息 [BSD 2-Clause License](LICENSE.md)