Littlefish Material 3 Theming Service
This package provides a theming service for Flutter applications using Material 3 design principles. It is designed to be used within the Littlefish ecosystem, but can be adapted for other Flutter projects.
Features
- Dynamic theme switching (light/dark/system)
- Material 3 color schemes and surface blending
- Centralized theme management
- Easy integration with existing Flutter apps
Getting Started
Installation
Add the package to your pubspec.yaml:
dependencies:
littlefish_theming_m3:
path: ../littlefish_theming_m3
Then run:
flutter pub get
Usage
Import the theming service:
import 'package:littlefish_theming_m3/littlefish_theming_m3.dart';
Initialize and use the theme manager in your app:
final themeManager = LittlefishThemeManager();
MaterialApp(
theme: themeManager.lightTheme,
darkTheme: themeManager.darkTheme,
themeMode: themeManager.themeMode,
// ...
);
You can update the theme mode dynamically:
themeManager.setThemeMode(ThemeMode.dark);
Customization
- Override color schemes by providing your own
ColorScheme. - Extend the service to support custom themes or additional settings.
Contributing
Contributions are welcome! Please open issues or submit pull requests for improvements or bug fixes.
License
This project is licensed under the LittleFish Company License. See the LICENSE file for details.