1分钟
00 全面深入触摸和滑动原理
本篇将带你深入了解 Flutter 中的手势事件传递、事件分发、事件冲突竞争,滑动流畅等等的原理,帮你构建一个完整的 Flutter 闭环手势知识体系,这也许是目前最全面的手势事件和滑动源码的深入文章了。
文章汇总地址:
Flutter 中默认情况下,以 Android 为例,所有的事件都是起原生源于 io.flutter.view.FlutterView
这个 SurfaceView
的子类,整个触摸手势事件实质上经历了 JAVA => C++ => Dart 的一个流程,整个流程如下图所示,无论是 Android 还是 IOS ,原生层都只是将所有事件打包下发,比如在 Android 中,手势信息被打包成 ByteBuffer
进行传递,最后在 Dart 层的 _dispatchPointerDataPacket
方法中,通过 _unpackPointerDataPacket
方法解析成可用的 PointerDataPacket
对象使用。
那么具体在 Flutter 中是如何分发使用手势事件的呢?
学员评价