flutter 小记

172 阅读1分钟
  • 布局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的重要性,它将我们的状态分离开来
  • 国际化插件: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(), ));