加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

react-native之touch事件

发布时间:2020-12-15 08:20:12 所属栏目:百科 来源:网络整理
导读:react-native中并不透传诸如原生的onClick、onDrag、onDoubleClick事件。它将原生屏幕触摸事件抽象出四个行为: START、END、MOVE、CANCEL ,对应到android原生MotionEvent那么分别是: ACTION_DOWNACTION_POINTER_DOWN、ACTION_UPACTION_POINTER_UP、ACTION

react-native中并不透传诸如原生的onClick、onDrag、onDoubleClick事件。它将原生屏幕触摸事件抽象出四个行为:START、END、MOVE、CANCEL,对应到android原生MotionEvent那么分别是:ACTION_DOWN&ACTION_POINTER_DOWN、ACTION_UP&ACTION_POINTER_UP、ACTION_MOVE、ACTION_CANCEL

react-native将这四个触摸行为通知给js可以说是非常直接粗暴。通过遍历ReactRootView找到触摸事件的子视图将对应的触摸坐标打包成TouchEvent发送给该子视图,至于视图究竟是onPress还是onPressOut等逻辑均由js文件Touchable 负责。facebook的技术人员对js的执行效率真是非常的自信!从不同平台之间兼容来看这种做法或许是比低成本的实现方式,当然让react-native和原生比较触摸灵敏度或许也不是那么恰当的事情。

综上所述,react-native触摸事件是由js Touchable产生的。意味着原生可以通过一些小花样让view在react-native中产生各种事件。比如:

  • 通过cavas绘制的view而没有添加到ViewGroup的视图;
  • 一张图片(image)可以给不同区域添加不同的点击触发行为;

。。。

哈哈~就说这么多写。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读