一个可定制的分割标签控件。可以与 TabView 一起使用,也可以单独使用。
功能
该包提供了一个基于 TabController 的高级分段控件小部件。
入门
要使用该包,请将依赖项添加到 pubspec.yaml 文件中。
dependencies:
...
animated_segmented_tab_control: any
并导入库。
import 'package:animated_segmented_tab_control/animated_segmented_tab_control.dart';
用法
该包包含一个 SegmentedTabControl 小部件,它需要一个 SegmentTab 列表。
SegmentedTabControl(
tabs: [
SegmentTab(
label: "Home".
),
],
)
SegmentedTabControl 还需要一个 TabController。您可以使用 DefaultTabController 提供它,或者实例化一个 TabController。
DefaultTabController(
length: 2,
SegmentedTabControl(
tabs: [
SegmentTab(
label: "Home",
),
SegmentTab(
label: "Account",
),
],
)
)
您可以更改整个小部件或单个标签。或组合它们。SegmentedTabControl 中提供的所有值都将被每个标签的值替换。
SegmentedTabControl(
backgroundColor: Colors.grey.shade300,
indicatorColor: Colors.orange.shade200,
tabTextColor: Colors.black45,
selectedTabTextColor: Colors.white,
tabs: [
SegmentTab(
label: 'ACCOUNT',
color: Colors.red.shade200,
),
SegmentTab(
label: 'HOME',
backgroundColor: Colors.blue.shade100,
selectedTextColor: Colors.black45,
textColor: Colors.black26,
),
const SegmentTab(label: 'NEW'),
],
),
更改跟踪逻辑与 TabBar 逻辑相同。
DefaultTabController.of(context).index
或者
_controller.index
您可以在此处找到更多示例:https://github.com/LanarsInc/animated-segmented-tab-control/tree/main/example
附加信息
如果您有任何想法或遇到 bug,请在 GitHub 页面上提交 issue:https://github.com/LanarsInc/animated-segmented-tab-control/issues

