-
SliverPinnedPersistentHeader
,跟官方的SliverPersistentHeader(pinned: true)
一样的效果, 不同的是你不需要去设置minExtent
和maxExtent
。因为大部分场景下面,我们是无法提前知道minExtent
和maxExtent
。 -
SliverPinnedToBoxAdapter
,可以通过它轻松创建一个置顶的元素,当child
没有layout
之前,你没法知道child
的实际大小,这将是非常有用的组件。 -
ExtendedSliverAppbar
,你可以创建一个跟SliverAppbar
一样效果的组件,而不用去关心expandedHeight
。
TabBarView 扩展
ExtendedTabs,对 TabBarView
组件的扩展,主要包括以下功能:
- 解决多级
TabBarView
嵌套的时候,无法连贯切换的问题 - 垂直方向滚动
- 设置缓存页面数量
- 提供
CarouselIndicator
和ColorTabIndicator
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(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… 。
输入框
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.0
和 Navigator 2.0
。
- 激活工具
pub global activate ff_annotation_route
- 增加引用
dependencies:
在子模块中引入
ff_annotation_route_core: any
在根项目引入,包括一些帮助类以及 ff_annotation_route_core
ff_annotation_route_library: any
- 添加注释
工具会自动处理带参数的构造,不需要做特殊处理。唯一需要注意的是,你需要设置 argumentImports
来为 class/enum
的参数提供 import
地址。现在你也可以使用 @FFArgumentImport()