Overview
Create theme palettes from seed colors and connect theme changes to your Flutter application.
flutter_dynamic_theme_engine Create theme palettes from seed colors and connect theme changes to your Flutter application.
Installation
Add the package to your Flutter project.
flutter pub add flutter_dynamic_theme_engine:^1.0.0Quick Start
Start with this small example, then connect it to your own application. Read the known limitations before using it with real data.
import 'package:flutter/material.dart';
import 'package:flutter_dynamic_theme_engine/flutter_dynamic_theme_engine.dart';
void main() => runApp(const ThemeExample());
class ThemeExample extends StatefulWidget {
const ThemeExample({super.key});
@override
State<ThemeExample> createState() => _ThemeExampleState();
}
class _ThemeExampleState extends State<ThemeExample> {
final notifier = DynamicThemeNotifier();
@override
void dispose() { notifier.dispose(); super.dispose(); }
@override
Widget build(BuildContext context) => DynamicThemeBuilder(
notifier: notifier,
builder: (context, light, dark, mode) => MaterialApp(
theme: light, darkTheme: dark, themeMode: mode,
home: Scaffold(body: Center(child: FilledButton(
onPressed: () => notifier.setSeedColor(Colors.teal),
child: const Text('Try a teal theme'),
))),
),
);
}This is a starting point, not a complete application. Add error handling and tests for your own backend and lifecycle.
Configuration
Keep configuration with the part of your application that owns the package instance. Connect authentication, storage, exporters or backend handlers explicitly rather than relying on hidden global state.
Use the versioned API reference for constructors and options. The starting example above focuses on a small integration surface; the repository example shows the surrounding application code.
Explore configuration in the API referenceKnown Limitations
The repository example currently contains an invalid Colors.roseAccent reference. Theme rebuilds do not alone guarantee animated transitions or accessible contrast. Check the resulting UI and supported SDK.
API Reference
Explore the public classes, methods and constructors for version 1.0.0.
Open versioned API referenceExample & Tests
Use the repository example to explore the package in context. Run its tests locally, and add regression cases for the known limitations above. The SSL package’s device test results do not apply to this package.
git clone https://github.com/lekthedeveloper/flutter_dynamic_theme_engine.git
cd flutter_dynamic_theme_engine
flutter pub get
flutter testFrequently Asked Questions
Can I use this package in a commercial app?
The package is MIT licensed. Follow the license terms and review the current limitations for your use case.
Where should I report a bug?
Open an issue in the package repository. Include the package and Flutter versions, a minimal reproduction and the expected behavior. Remove credentials and private data.
Are these packages all verified for production?
No blanket guarantee is made. Each guide documents its current limitations. Test your integration and use independent review for sensitive workflows.