buildSliver method

Widget buildSliver(
  1. BuildContext context,
  2. NavigationControlData? data
)

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(),
              ),
            ),
          ),
        );
      });
}