Skip to main content
OAOlamilekan AdeyemiFlutter · React · Next.js · Full-Stack DeveloperHire Me
All packages/UI & themes/flutter_dynamic_theme_engine
UI & themes

flutter_dynamic_theme_engine

Theme palettes generated from seed colors, with a notifier and builder for connecting theme changes to your app.

ThemesColorsFlutter
v1.0.0Documented version
MITOpen source license
Flutter & DartSee platform notes

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.

Themes
Colors
Flutter

Installation

Add the package to your Flutter project.

bash
flutter pub add flutter_dynamic_theme_engine:^1.0.0

Quick Start

Start with this small example, then connect it to your own application. Read the known limitations before using it with real data.

dart
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 reference

Known 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 reference

Example & 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.

bash
git clone https://github.com/lekthedeveloper/flutter_dynamic_theme_engine.git
cd flutter_dynamic_theme_engine
flutter pub get
flutter test
View repository example

Frequently 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.