- Create a App Brand
extends Brand
class AppBrand extends Brand {
@override
ColorTokens getColorTokens(bool isDarkMode) {
return ColorTokens(
brand: ColorBrand(
main: isDarkMode ? const Color(0xFFEBEAEE) : const Color(0xFF1D1C1C),
dark: isDarkMode ? const Color(0xFFEBEAEE) : const Color(0xFF003366),
secondary: isDarkMode ? Colors.white24 : Colors.black26,
background:
isDarkMode ? const Color(0xFF1D1C1C) : const Color(0xFFEBEAEE),
),
interaction: ColorInteraction(
main: isDarkMode ? const Color(0xFFEBEAEE) : const Color(0xFF1D1C1C),
hover: isDarkMode
? Colors.white24.withOpacity(0.5)
: const Color(0xFF003366).withOpacity(0.5),
pressed: isDarkMode ? Colors.white24 : const Color(0xFF003366),
),
neutral: isDarkMode ? ColorNeutralDark() : ColorNeutralLight(),
messaging: isDarkMode ? ColorMessagingDark() : ColorMessagingLight(),
);
}
}
- Start
FlutterDesignAppWidget inside RunApp
runApp(FlutterDesignApp(
brand: AppBrand(),
materialApp: (
localeResolutionCallback,
localizationsDelegates,
supportedLocales,
locale,
theme,
) {
return MaterialApp(
localeResolutionCallback: localeResolutionCallback,
localizationsDelegates: localizationsDelegates,
supportedLocales: supportedLocales,
locale: locale,
theme: theme,
builder: (context, child) => const YourAppHomeScreen(),
);
},
),
);
- Don't forget to add
en_US.jsonfile insideassets/languages
it supports the
final TextDirection textDirection;
final ColorTokens colors;
final ElevationTokens elevations;
final SpacingTokens spacings;
final OpacityTokens opacities;
final BorderRadiusTokens borderRadiuses;
final TextStyleTokens textStyles;
final IconTokens icons;
- It is used by using
context.themeinside build method
It is used to find application design system and toggle dark, and light themes. It is also used for toggle languages.
- use
context.appDesignForActionfor action - use
context.appDesignfor design - use
toggleTheme()to toggle your dark and light theme - use
setThemeLanguage(Localize lang)to update your app language - use
updateBrand(Brand brand)to update your brand - use
isDarkModeto get your current theme mode - use
supportedLocalesto get your app supported locales (languages) - use
textDirectionto get your current text direction - use
langto get your current app language - use
brandto get your current app brand