VThemeProvider constructor
Implementation
VThemeProvider({
Key? key,
ThemeData? appThemeData,
required Widget child,
}) : super(key: key, child: child) {
List<ThemeExtension<dynamic>> extensions = <ThemeExtension<dynamic>>[defaultThemeExtension];
themeData = ThemeData(extensions: extensions);
if (appThemeData != null) {
VCustomColors? appThemeExtension = appThemeData.extension<VCustomColors>();
themeData = ThemeData(
appBarTheme: appThemeData.appBarTheme,
primaryColor: appThemeData.primaryColor,
primaryColorLight: appThemeData.primaryColorLight,
primaryColorDark: appThemeData.primaryColorDark,
dividerColor: appThemeData.dividerColor,
// iconTheme: appThemeData.,
dividerTheme: appThemeData.dividerTheme.color == null ? DividerThemeData(color: ColorsUtil.hex2Color("#dcdcdc"), thickness: 0.8) : appThemeData.dividerTheme,
extensions: [
VCustomColors(
inputCursorColor: appThemeExtension?.inputCursorColor ?? defaultThemeExtension.inputCursorColor,
hintStyle: appThemeExtension?.hintStyle ?? defaultThemeExtension.hintStyle,
iconTheme: appThemeExtension?.iconTheme ?? defaultThemeExtension.iconTheme,
requiredStarStyle: appThemeExtension?.requiredStarStyle ?? defaultThemeExtension.requiredStarStyle,
labelStyle: appThemeExtension?.labelStyle ?? defaultThemeExtension.labelStyle,
valueStyle: appThemeExtension?.valueStyle ?? defaultThemeExtension.valueStyle,
arrowIconTheme: appThemeExtension?.arrowIconTheme ?? defaultThemeExtension.arrowIconTheme,
)
]);
}
}