GestureDetect 扩展:手势检测扩展,识别滑动、点击和长按手势

« 返回首页

GestureDetect 扩展

GestureDetect 是一个免费的手势检测扩展,用于识别各种手势操作。该扩展可以检测上滑、下滑、左滑、右滑、双击、单击和长按手势,为应用提供丰富的交互体验。

包名:aryan.gupta.GesturesDetector

版本:1

发布日期:2020年11月28日

作者:AryanGupta

文件大小:10.5 KB

下载链接

扩展文件

aryan.gupta.GesturesDetector.aix

demo:

DetectGesture.aia

功能概述

扩展特性

  • 多种手势识别:支持上滑、下滑、左滑、右滑、双击、单击和长按
  • 简单易用:只需将布局组件绑定到扩展即可使用
  • 非可视组件:不会占用界面空间
  • 事件驱动:通过事件处理各种手势操作
  • 兼容性强:适用于各种布局组件

截图

积木示例

所有积木

使用方法

使用示例

使用方法

基本设置

  1. 将 GestureDetect 扩展添加到项目中
  2. 在布局设计中,将需要检测手势的布局组件设置到扩展中
  3. 使用相应的积木块处理各种手势事件

配置示例

在 Screen1.Initialize 事件中:

当 Screen1.初始化
    设置 GestureDetect1.布局 为 HorizontalArrangement1

事件

OnSwipeUp 上滑(组件)
当用户在指定组件上执行上滑手势时触发。
  • 组件:组件类型,触发手势的组件
OnSwipeDown 下滑(组件)
当用户在指定组件上执行下滑手势时触发。
  • 组件:组件类型,触发手势的组件
OnSwipeLeft 左滑(组件)
当用户在指定组件上执行左滑手势时触发。
  • 组件:组件类型,触发手势的组件
OnSwipeRight 右滑(组件)
当用户在指定组件上执行右滑手势时触发。
  • 组件:组件类型,触发手势的组件
OnDoubleClick 双击(组件)
当用户在指定组件上执行双击手势时触发。
  • 组件:组件类型,触发手势的组件
OnSingleTap 单击(组件)
当用户在指定组件上执行单击手势时触发。
  • 组件:组件类型,触发手势的组件
OnLongPress 长按(组件)
当用户在指定组件上执行长按手势时触发。
  • 组件:组件类型,触发手势的组件

属性

Layout 布局
获取或设置要检测手势的布局组件。
  • 类型:组件类型
  • 默认值:未设置

应用场景

1. 图片浏览应用

创建支持手势操作的图片浏览器:

当 GestureDetect1.左滑
    显示下一张图片

当 GestureDetect1.右滑
    显示上一张图片

当 GestureDetect1.双击
    切换全屏显示

2. 导航应用

实现手势导航功能:

当 GestureDetect1.上滑
    显示地图菜单

当 GestureDetect1.下滑
    隐藏地图菜单

当 GestureDetect1.左滑
    切换到下一个地点

当 GestureDetect1.右滑
    切换到上一个地点

3. 游戏应用

添加游戏控制手势:

当 GestureDetect1.上滑
    角色跳跃

当 GestureDetect1.下滑
    角色下蹲

当 GestureDetect1.左滑
    角色向左移动

当 GestureDetect1.右滑
    角色向右移动

当 GestureDetect1.双击
    发射技能

4. 媒体播放器

控制媒体播放:

当 GestureDetect1.左滑
    快进视频

当 GestureDetect1.右滑
    快退视频

当 GestureDetect1.上滑
    增加音量

当 GestureDetect1.下滑
    减少音量

当 GestureDetect1.双击
    播放/暂停

5. 阅读应用

电子书阅读控制:

当 GestureDetect1.左滑
    翻到下一页

当 GestureDetect1.右滑
    翻到上一页

当 GestureDetect1.上滑
    显示目录

当 GestureDetect1.下滑
    显示设置

当 GestureDetect1.双击
    添加书签

技术说明

手势检测原理

  • 滑动检测:通过检测触摸点的移动轨迹和速度来判断方向
  • 单击检测:检测快速点击并在短时间内没有第二次点击
  • 双击检测:检测短时间内连续两次点击
  • 长按检测:检测触摸点保持按压状态超过设定时间

性能优化建议

  1. 合理设置布局区域:避免在过小的组件上启用手势检测
  2. 避免冲突:不要在有滚动功能的组件上使用滑动手势
  3. 事件处理:保持事件处理函数的简洁性
  4. 测试兼容性:在不同设备上测试手势识别的准确性

常见问题

Q: 手势检测不灵敏怎么办?

A: 检查布局组件是否正确设置,确保组件区域足够大,避免与其他触摸事件冲突。

Q: 如何在同一个组件上检测多种手势?

A: 扩展会自动识别不同的手势,只需为每个手势编写对应的事件处理程序。

Q: 可以自定义手势的灵敏度吗?

A: 当前版本使用默认的手势识别参数,暂不支持自定义灵敏度设置。

Q: 支持哪些布局组件?

A: 支持大部分布局组件,如 HorizontalArrangement、VerticalArrangement、TableArrangement 等。

版本信息

  • 当前版本:1
  • 发布日期:2020年11月28日
  • 兼容性:Kodular、App Inventor 2
  • 权限要求:无特殊权限要求

致谢

特别感谢以下开发者对扩展开发的支持:

  • Mohamed_Tamer - 技术指导
  • ADDYLIN - 开发支持

版权信息

本文档基于 Kodular Community 论坛帖子整理,原作者为 AryanGupta。

原始链接:https://community.kodular.io/t/free-gesturedetect-recognize-swipe-up-down-right-left-and-doubleclick/94542

文档翻译和整理:AI2中文网


最后更新:2024年12月9日

文档反馈