extension_theme_generator

Last updated:

0 purchases

extension_theme_generator Image
extension_theme_generator Images
Add to Cart

Description:

extension theme generator

Extension Theme Generator #

Language Versions #

English
Русский

Flutter Extension Theme Generator is a tool for generating ThemeExtension in Flutter projects, simplifying the management of custom themes. With the help of two decorators, @TextStyleAnnotation() and @ColorAnnotation(), you can easily create a theme that meets your requirements.
Key Features: #

Ease of Use: Simply add @TextStyleAnnotation() or @ColorAnnotation() to your class with color or text style information.
Automatic Generation: Run the command flutter pub run build_runner build to automatically generate the necessary code for ThemeExtension.
Flexibility: You can create any number of application themes, not just dark and light.

Example Usage #
A detailed example can be found in /example.

Add the dependencies build_runner and extension_theme_generator:

dependencies:
extension_theme_generator: ^1.0.0

dev_dependencies:
build_runner: ^2.4.11
copied to clipboard

Add classes for text styles and colors

Example for colors:
@ColorAnnotation()
class DarkColors {
static const Color primary = Color(0xFF000000);
static const Color secondary = Color(0xFF111111);
static const Color textColor = Color(0xFF111111);
static const Color background = Color(0xFF015D60);
}

@ColorAnnotation()
class BlueColors {
static const Color primary = Color(0xFF000000);
static const Color secondary = Color(0xFF111111);
static const Color textColor = Color(0xFF111111);
static const Color background = Color(0xFFC4EDF3);
}
copied to clipboard
Example for text styles:
@TextStyleAnnotation()
class DarkTextStyle {
static const TextStyle header = TextStyle(
fontSize: 24,
fontWeight: FontWeight.bold,
color: Colors.white,
);
static const TextStyle body = TextStyle(
fontSize: 16,
fontWeight: FontWeight.normal,
color: Colors.black,
);
}


@TextStyleAnnotation()
class LightTextStyle {
static const TextStyle header = TextStyle(
fontSize: 24,
fontWeight: FontWeight.bold,
color: Colors.black,
);
static const TextStyle body = TextStyle(
fontSize: 16,
fontWeight: FontWeight.normal,
color: Colors.black,
);
}
copied to clipboard

You can add any number of themes and are not limited to just dark and light themes.


Add the path for the generation file:
For example, part 'theme.g.dart';
Run the command flutter pub run build_runner build.
Update ThemeData:
Add.

ThemeData createDarkTheme(){
return ThemeData(
extensions: const <ThemeExtension<dynamic>>[
$AppThemeColors.darkColors,// Generated class for colors
$AppThemeTextStyles.darkTextStyle, // Generated class for text styles
],
);
}
copied to clipboard
About the author #
My telegram channel - @kotelnikoff_dev

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.