-
布局Widget
- row,column
- stack 堆叠布局
- container盒子布局
- aspectRatio宽高比布局
-
其他
- WillPopScope导航返回拦截(比如双击退出)
- CustomScrollView--slivers滑动布局嵌套,展开收起
- FlexibleSpaceBar可折叠的标题栏
- ClipPath剪切区域
-
json转dart实体类
- 在线
- 插件 FlutterJsonBeanFactory
- Material
-
provider
- 使用Provider访问数据有两种方式
- 使用Provider.of(context),简单易用,但是要数据发生变化时,会进行页面级别rebuild,相当于satefulWidget
- 使用Consumer,Consumer比Provider.of(context)复杂一点,但是对于app性能的提高却有些很好的作用,当状态发生变化时,widget树会更新指定的节点,极小程度进行控件刷新,不会进行整颗widget树的更新,详细看下文分析。
- Provider有泛型的优势,相当于namespace的特性,使用过vuex的应该知道namespace的重要性,它将我们的状态分离开来
- 使用Provider访问数据有两种方式
-
国际化插件:flutter i18n
-
第三方插件实现音频播放 *
-
charts_flutter
- 统计图表
-
需要研究的内容
- AutomaticKeepAliveClientMixin
- ValueListenableBuilder ValueListenableProvider
- CupertinoActivityIndicator
-
待解决问题
- 获取验证码代码重构
-
将item默认合并的语义拆开,自行组合
Semantics( explicitChildNodes: true,) ListView.builder( itemCount: 8, addSemanticIndexes: false,)
-
滤色器(全灰处理)
runApp(ColorFiltered( colorFilter: ColorFilter.mode(Colors.white, BlendMode.color), child: App(), ));