Flutter 空安全的糖果罐,墙都不扶就服你

  • SliverPinnedPersistentHeader,跟官方的SliverPersistentHeader(pinned: true) 一样的效果, 不同的是你不需要去设置 minExtentmaxExtent。因为大部分场景下面,我们是无法提前知道 minExtentmaxExtent
  • SliverPinnedToBoxAdapter,可以通过它轻松创建一个置顶的元素,当 child 没有 layout 之前,你没法知道 child 的实际大小,这将是非常有用的组件。
  • ExtendedSliverAppbar,你可以创建一个跟 SliverAppbar 一样效果的组件,而不用去关心 expandedHeight

TabBarView 扩展

ExtendedTabs,对 TabBarView 组件的扩展,主要包括以下功能:

  • 解决多级 TabBarView 嵌套的时候,无法连贯切换的问题
  • 垂直方向滚动
  • 设置缓存页面数量
  • 提供 CarouselIndicatorColorTabIndicator
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hssSlu30-1637210521867)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/063fc96756c5475592cd75bc477bafc6~tplv-k3u1fbpfcp-watermark.image)]

文本

ExtendedText,针对 Text 组件的扩展,主要包括以下功能:

  • 方便快速生成特殊文本,将字符串转换成特定的 InlineSpan
  • BackgroundTextSpan 自定文字背景,处理圆角或者中英文背景高度不一致的问题。
  • ExtendedWidgetSpan 支持选择和复制, github.com/flutter/flu… .
  • TextOverflowWidget 自定义文本溢出效果, github.com/flutter/flu… 。
Flutter 空安全的糖果罐,墙都不扶就服你_第1张图片 Flutter 空安全的糖果罐,墙都不扶就服你_第2张图片
Flutter 空安全的糖果罐,墙都不扶就服你_第3张图片

输入框

ExtendedTextField,针对 TextField 组件的扩展,主要包括以下功能:

  • 方便快速生成特殊文本,原理很简单,就是把字符串转换成特定的 InlineSpan
  • ExtendedWidgetSpan 支持输入框中插入任何 Widget,比如表情图片。
  • ExtendedWidgetSpan 支持选择和复制, github.com/flutter/flu… 。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sAfmfQSz-1637210521871)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/0d9eb319cafe47e6a7dad6d09fc168b9~tplv-k3u1fbpfcp-watermark.image)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KRzqbExw-1637210521878)(https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/39bac0044f724c258e126fd268b91e4d~tplv-k3u1fbpfcp-watermark.image)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qu5xKDcn-1637210521878)(https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/41d2c8f1f3b34339bca40249ab0892ff~tplv-k3u1fbpfcp-watermark.image)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YVyS4NB3-1637210521879)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/705c6b8c54d24898acc653e37ecc1d82~tplv-k3u1fbpfcp-watermark.image)]

路由注解

ff_annotation_route,通过注解生成路由映射,统一处理路由,支持 Navigator 1.0Navigator 2.0

  1. 激活工具 pub global activate ff_annotation_route
  2. 增加引用

dependencies:

在子模块中引入

ff_annotation_route_core: any

在根项目引入,包括一些帮助类以及 ff_annotation_route_core

ff_annotation_route_library: any

  1. 添加注释

工具会自动处理带参数的构造,不需要做特殊处理。唯一需要注意的是,你需要设置 argumentImports 来为 class/enum 的参数提供 import 地址。现在你也可以使用 @FFArgumentImport()

你可能感兴趣的:(程序员,面试,android,移动开发)