of static method
Returns the nearest NavTheme.
Implementation
static NavThemeData of(BuildContext context) {
final NavTheme? navTheme =
context.dependOnInheritedWidgetOfExactType<NavTheme>();
NavThemeData? navThemeData = navTheme?.data;
if (navThemeData == null || !navThemeData._isConcrete) {
final ThemeData themeData = Theme.of(context);
final TextTheme textTheme = themeData.textTheme;
final ColorScheme colorScheme = themeData.colorScheme;
navThemeData ??= themeData.navTheme;
final navValue =
_NavThemeData(textTheme: textTheme, colorScheme: colorScheme);
final IconThemeData iconThemeData =
navThemeData.iconThemeData ?? navValue.iconThemeData;
final double itemsSpacing =
navThemeData.itemsSpacing ?? navValue.itemsSpacing;
final double width = navThemeData.width ?? navValue.width;
final double height = navThemeData.height ?? navValue.height;
final double indicatorWidth =
navThemeData.indicatorWidth ?? navValue.indicatorWidth;
final Duration animationDuration =
navThemeData.animationDuration ?? navValue.animationDuration;
return navThemeData.copyWith(
iconThemeData: iconThemeData,
itemsSpacing: itemsSpacing,
width: width,
height: height,
indicatorWidth: indicatorWidth,
animationDuration: animationDuration,
);
}
assert(navThemeData._isConcrete);
return navThemeData;
}