React Native 新架构实战课
蒋宏伟
58 同城前端架构师,58RN 负责人
18214 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 42 讲
React Native 新架构实战课
15
15
1.0x
00:00/00:00
登录|注册

16|Gesture(中):如何解决单视图多手势的冲突问题?

你好,我是蒋宏伟。
通过上节课对轻按手势和拖拽动效这两个基础手势案例的学习,相信你现在已经能够完成一些基本手势需求的开发了。今天这节课,我们就再进一步,聊下怎么解决更进阶的手势问题。
在手势基础的学习中,我们给到的手势案例都是围绕着一个视图、一个手势展开的,处理起来很简单。但在真实的工作中,情况会更加复杂。比如说,我们会有稍微难一点的情况,也就是一个视图同时存在多个手势。还有更复杂的,就是同时有多个视图、多个手势,并且这些视图和手势环环相扣。
当然你也不用担心,这两种复杂的情况,我们的 Gesture 手势库都提供了相关的解决方案。不过俗语也有说,“一口吃不成大胖子。”所以今天这一讲,我们先来聊聊一个视图多个手势如何处理,下一讲再聊聊多个视图、多个手势如何处理。
但在展开讲解手势冲突问题之前,我需要带你补全 Gesture 手势的一些进阶知识。

手势进阶

我们要研究多个手势冲突的问题,大体上得遵循这样的流程:
首先你得知道 Gesture 手势库都能识别哪些手势;
然后手势实际是一系列连续的动作,而这一系列动作大致可以分为几个阶段,比如开始、进行中、完成和中途取消,Gesture 手势库又提供了哪些手势回调来识别手势的不同阶段;
最后,不同阶段的回调又都能提供什么参数,能让开发者来使用。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

手势库解决了单视图多手势冲突问题,通过竞争、同时响应和排他三种方式处理手势冲突。竞争机制使多个手势进行竞争,只有一个会触发;同时响应机制允许多个手势同时触发;排他机制则由组件决定手势的响应优先级。这些方法帮助开发者更好地处理单视图多手势冲突问题。 本文介绍了Gesture手势库的9种手势、3类回调事件和3种手势冲突的解决方案。9种手势包括轻按手势Tap、长按手势LongPress、拖拽手势Pan、旋转手势Rotation、缩放手势Pinch、快滑手势Fling、重按手势ForceTouch、原生手势Native。3类回调分别是通用回调、激活回调和系统取消回调。而解决手势冲突的方式包括竞争、同时响应和排他。 这篇文章内容丰富,介绍了如何解决单视图多手势的冲突问题,以及Gesture手势库的功能和应用。读者可以从中了解到如何利用手势库处理复杂手势的基础知识,为进一步学习多视图多手势冲突问题的解决方案奠定基础。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《React Native 新架构实战课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(3)

  • 最新
  • 精选
  • 霍霍
    老师讲的很好,要是能有一些demo代码实例,让我们身临其境学习就更好了

    作者回复: GitHub 上有代码,可以看看哦

    2022-05-15
  • 焦糖大瓜子
    点个赞
    2022-10-25归属地:广东
  • 静心
    再给老师点个赞。
    2022-06-08
收起评论
显示
设置
留言
3
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部