Home

解决原生横滑scrollView和Flutter 纵滑CustomScroll的冲突

前言 最近项目中在横向滑动的PageViewController(WMPageController)里嵌入了Flutter 的 CustomScrollView,原本会觉得一切ok,却出现了一个致命的问题:安卓嵌入之后滑动流程稳定,没有任何问题,iOS 嵌入之后出现Flutter 页面滑动卡顿、不流畅,体现在触发flutter 列表滑动的同时,会触发原生横滑,且必须垂直滑动(无一点左右的滑动偏移)才会稳定触发Flutter 列表的滑动,否则容易触发左右横滑,所以我们习惯了单手用手机的人,根本无法顺畅滑动。如下面的gif(其实我已经很努力的在上下滑了,很明显上下滑动的距离大于水平滑动的距离,用户的用意也应该是要上下滑动,但是却触发了横滑): 解决方式 首先触摸flutt...

Read more

热重载原理研究和探索

热重载原理研究和探索 1. 前言 Flutter 亚秒级别的热重载是开发者的神兵利器,它能够提供我们快速修改UI、增加功能、修复bug,不需要重新启动应用,就可以看到改动效果。那么Flutter是如何做到这样的功能的呢?下面我们一起探究一下其中的原理。 2. 首先需要知道JIT 和AOT JIT JIT(Just In Time),指的是运行时编译,Flutter 在debug模式下采用这种方式,在运行时动态下发和执行代码,启动速度快,但是由于在运行时编译,性能会受影响。 AOT AOT(Ahead Of Time),指的是在运行之前进行编译,Flutter 在Release模式下采用,可以为特定的平台生成稳定的二进制代码、执行性能好、运行速度快,但是每次都需...

Read more

Flutter Text 文字下有黄色下划线

导致原因 导致这种情况发生的原因是因为,Text widget 隶属于Material 风格下的组件,如果根节点不是Material 相关组件,则会使用默认带黄色下划线的格式。如果根节点是Material 容器组件,则会采用其Material风格的样式(即不带有下换线)。 解决方式 1. 采用根节点为脚手架Scaffold组件 Scaffold(body: content,); 2. 采用根节点为Material 组件 Material(child: content); 3. 逐个修改Text 组件的style 下的decoration为TextDecoration.none child: Text( "专栏的文章", ...

Read more