Skip to content

Repository files navigation

Flutter Tab Toggle

pub package

A Beautiful and Simple Toggle Tab widget. It can be fully customized with desired icons, width, colors, text, corner radius, etc. It also maintains selection state.

Getting Started

In the pubspec.yaml of your flutter project, add the following dependency:

dependencies:
flutter_toggle_tab: "^latestVersion"

Import it:

import'package:flutter_toggle_tab/flutter_toggle_tab.dart';

Usage Examples

Basic tab/toggle switch

image

// Here default theme colors are used for activeBgColor, activeFgColor, inactiveBgColor and inactiveFgColorFlutterToggleTab
(
width:90, // width in percent
borderRadius:30,
height:50,
selectedIndex: _tabTextIndexSelected,
selectedBackgroundColors: [Colors.blue, Colors.blueAccent],
selectedTextStyle:TextStyle(
color:Colors.white,
fontSize:18,
fontWeight:FontWeight.w700),
unSelectedTextStyle:TextStyle(
color:Colors.black87,
fontSize:14,
fontWeight:FontWeight.w500),
dataTabs: _listTextTabToggle,
selectedLabelIndex: (index) {
setState(() {
_tabTextIndexSelected = index;
});
},
isScroll:false,
)

Basic tab/toggle switch with Custom Counter Widget

image

// Here default theme colors are used for activeBgColor, activeFgColor, inactiveBgColor and inactiveFgColorFlutterToggleTab
(
width:90, // width in percent
borderRadius:30,
height:50,
selectedIndex: _tabTextIndexSelected,
selectedBackgroundColors: [Colors.blue, Colors.blueAccent],
selectedTextStyle:TextStyle(
color:Colors.white,
fontSize:18,
fontWeight:FontWeight.w700),
unSelectedTextStyle:TextStyle(
color:Colors.black87,
fontSize:14,
fontWeight:FontWeight.w500),
dataTabs: _listTextTabToggleCounter,
selectedLabelIndex: (index) {
setState(() {
_tabTextIndexSelected = index;
});
},
isScroll:false,
)

Basic tab/toggle switch with Icon

image

FlutterToggleTab
(
width:50,
borderRadius:15,
selectedTextStyle:TextStyle(
color:Colors.white,
fontSize:18,
fontWeight:FontWeight.w600),
unSelectedTextStyle:TextStyle(
color:Colors.blue,
fontSize:14,
fontWeight:FontWeight.w400),
dataTabs: _listGenderText,
selectedIndex: _tabTextIconIndexSelected,
selectedLabelIndex: (index) {
setState(() {
_tabTextIconIndexSelected = index;
});
},
)

Basic tab/toggle switch with Icon Only and add margin on selected item

image

FlutterToggleTab
(
width:40,
borderRadius:15,
selectedIndex: _tabIconIndexSelected,
selectedTextStyle:TextStyle(
color:Colors.white,
fontSize:18,
fontWeight:FontWeight.w600),
unSelectedTextStyle:TextStyle(
color:Colors.grey,
fontSize:14,
fontWeight:FontWeight.w400),
dataTabs: _listIconTabToggle,
selectedLabelIndex: (index) {
setState(() {
_tabIconIndexSelected = index;
});
},
marginSelected:EdgeInsets.symmetric(horizontal:4,vertical:4),
)

Update selected tab Programmatically

FlutterToggleTab
(
width:90,
borderRadius:15,
selectedIndex: _tabSelectedIndexSelected,
selectedTextStyle:TextStyle(
color:Colors.white,
fontSize:18,
fontWeight:FontWeight.w600),
unSelectedTextStyle:TextStyle(
color:Colors.grey,
fontSize:14,
fontWeight:FontWeight.w400),
dataTabs: _listTextSelectedToggle,
selectedLabelIndex: (index) {
setState(() {
_tabSelectedIndexSelected = index;
});
},
)

Available Parameters

ParamisRequired
List<DataTab> dataTabsYes
Function(int) selectedLabelIndexYes
TextStyle selectedTextStyle default:Theme.of(context).textTheme.bodyMedium,No
TextStyle unSelectedTextStyle default:Theme.of(context).textTheme.bodyMedium,No
int selectedIndex (listener for index selected) see on exampleYes
double width (in Percent of width Screen) default: 100No
double height (double) default: 45No
double iconSizeNo
double borderRadius (double) default 30No
List<Color> selectedBackgroundColors default : [ Theme.of(context).primaryColor]No
List<Color> unSelectedBackgroundColors default [ Color(0xffe0e0e0)]No
Alignment begin default : Alignment.topCenterNo
Alignment end default : Alignment.bottomCenterNo
bool isScroll default : trueNo
EdgeInsets marginSelected default : EdgeInsets.zeroNo
bool isShadowEnable default : trueNo
bool isInnerShadowEnable default : trueNo

LinkedIn

Buy me coffee if you love my works ☕️

buymeacoffeko-fipaypal



About

Library to create custom Toggle / Tab on your apps

Resources

Stars

13 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages