A customizable segment tab control. Can be used with or without TabView.
Features
The package provides an advanced segmented control widget based on the TabController
.
Getting started
To use the package, add the dependency to the pubspec.yaml
file.
dependencies:
...
animated_segmented_tab_control: any
And import the library.
import 'package:animated_segmented_tab_control/animated_segmented_tab_control.dart';
Usage
The package contains a SegmentedTabControl
widget that requires a SegmentTab
list.
SegmentedTabControl(
tabs: [
SegmentTab(
label: "Home".
),
],
)
SegmentedTabControl also requires a TabController. You can provide it with a DefaultTabController
or instantiate a TabController
instead.
DefaultTabController(
length: 2,
SegmentedTabControl(
tabs: [
SegmentTab(
label: "Home",
),
SegmentTab(
label: "Account",
),
],
)
)
You can change the entire widget or an individual tab. Or combine it. All provided values in the SegmentedTabControl
will be replaced with values from each tab.
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'),
],
),
Change tracking logic is identical to TabBar logic.
DefaultTabController.of(context).index
or
_controller.index
You can find more examples here: https://github.com/LanarsInc/animated-segmented-tab-control/tree/main/example
Additional information
If you have any ideas or are running into a bug, please submit an issue on github page: https://github.com/LanarsInc/animated-segmented-tab-control/issues