An advanced segment widget, that can be fully customized with bunch of properties, just try it and enjoy!
// Create a controller
final _controller = AdvancedSegmentController('all');
//...
AdvancedSegment(
controller: _controller, // AdvancedSegmentController
segments: { // Map<String, String>
'all': 'All',
'starred': 'Starred',
},
),
//...
// Create a controller
final _controller = AdvancedSegmentController('all');
//...
AdvancedSegment(
controller: _controller, // AdvancedSegmentController
segments: { // Map<String, String>
'all': 'All',
'primary': 'Primary',
'secondary': 'Secondary',
'tertiary': 'Tertiary',
},
activeStyle: TextStyle( // TextStyle
color: Colors.white,
fontWeight: FontWeight.w600,
),
inactiveStyle: TextStyle( // TextStyle
color: Colors.white54,
),
backgroundColor: Colors.black26, // Color
sliderColor: Colors.white, // Color
sliderOffset: 2.0, // Double
borderRadius: const BorderRadius.all(Radius.circular(8.0)), // BorderRadius
itemPadding: const EdgeInsets.symmetric( // EdgeInsets
horizontal: 15,
vertical: 10,
),
animationDuration: Duration(milliseconds: 250), // Duration
sliderShadow: const <BoxShadow>[
BoxShadow(
color: Colors.black26,
blurRadius: 8.0,
),
],
),
//...
Parameter | Description | Type | Default |
---|---|---|---|
controller |
Manage AdvancedSegment state | AdvancedSegmentController | |
segments |
Map of presented segments | Map<String, String> | required |
activeStyle |
TextStyle | fontWeight: FontWeight.w600 | |
inactiveStyle |
TextStyle | ||
backgroundColor |
Color | Colors.black26 | |
sliderColor |
Color | Colors.white | |
sliderOffset |
double | 2.0 | |
borderRadius |
BorderRadius | Radius.circular(8.0) | |
itemPadding |
EdgeInsets | EdgeInsets.symmetric(h: 15, v: 10) | |
animationDuration |
Duration | Duration(milliseconds: 250) | |
sliderShadow |
BoxShadow | Shadow |