
COMPLETED
Themely: Flutter Theme Manager for Dark, Light and Custom Themes
Themely is a modular Flutter package for managing dark, light and custom named themes with semantic color tokens, animated transitions, and auto scheduling.
Overview
Themely is a production-ready Flutter theme management package built for developers who want full control over their app's visual identity without writing boilerplate.
It supports four built-in modes (light, dark, AMOLED, and system) plus unlimited custom named themes. Semantic color tokens are accessed through type-safe BuildContext extensions like context.themeColors and context.isDark. Theme preferences are persisted automatically via SharedPreferences, so users always get their last-used theme on app restart.
Switch themes with smooth AnimatedTheme transitions, schedule automatic mode changes by time of day, or let users preview a theme before committing. Widget switchers (ThemeIcon, ThemeAsset, ThemeText, ThemeLottie) eliminate manual ternary checks, and a built-in debug overlay helps you inspect active color tokens at a glance.
Extensible by design: plug in a custom storage adapter, subclass AppThemeTokens to add brand-specific colors, or drive scheduling from battery state, location, or any external signal. Works across Android, iOS, Web, macOS, Linux, and Windows.
Key Features
- check_circleLight, dark, AMOLED, and system modes built in with zero config
- check_circleAuto-scheduling to switch modes automatically by time of day
- check_circleSmooth animated transitions via Flutter's AnimatedTheme
- check_circleSemantic color tokens with type-safe BuildContext extensions
- check_circleWidget switchers: ThemeIcon, ThemeAsset, ThemeText, and ThemeLottie
- check_circlePluggable storage adapter compatible with Hive, SQLite, or any custom backend
- check_circleBuilt-in debug overlay for inspecting active tokens during development
- check_circleCross-platform support for Android, iOS, Web, macOS, Linux, and Windows
Technologies
FlutterDartSharedPreferencesLottieThemeExtension APIAnimatedThemeMIT License