buildSliver method
Implementation
Widget buildSliver(BuildContext context, NavigationControlData? data) {
final theme = Theme.of(context);
final scaling = theme.scaling;
return AnimatedValueBuilder(
duration: kDefaultDuration,
curve: Curves.easeInOut,
value: (data?.expanded ?? true) ? 1.0 : 0.0,
child: buildChild(context, data),
builder: (context, value, child) {
return SliverPersistentHeader(
pinned: pinned,
floating: floating,
delegate: _NavigationLabelDelegate(
maxExtent: 48 * scaling * value,
minExtent: 48 * scaling * value,
child: GestureDetector(
behavior: HitTestBehavior.translucent,
onTap: () {
Scrollable.ensureVisible(
context,
duration: kDefaultDuration,
curve: Curves.easeInOut,
);
},
child: Container(
alignment: alignment ?? AlignmentDirectional.centerStart,
padding:
padding ?? EdgeInsets.symmetric(horizontal: 16 * scaling),
child: child!.semiBold().large(),
),
),
),
);
});
}