Overview
Namida features a Material 3-like theme with powerful color customization options. You can use dynamic theming that adapts to your music artwork, set static colors, or even sync with your device wallpaper.Theme Modes
Light, Dark, or System
Namida supports three theme modes:
- Light Mode: Bright interface optimized for daylight viewing
- Dark Mode: Easy on the eyes in low-light conditions
- System: Automatically follows your device’s theme setting
Enable Pitch Black mode for AMOLED displays to save battery and reduce eye strain in complete darkness.
Dynamic Theming
The standout feature of Namida is its ability to extract and apply colors from album artwork in real-time.Auto Color Extraction
Dynamic theming automatically extracts colors from your currently playing track’s artwork and applies them throughout the interface.
palette_generator package. The extracted colors are:
- Cached to
AppDirs.PALETTESfor performance - Applied with appropriate alpha transparency (200 for dark mode, 120 for light mode)
- Smoothly transitioned between tracks
Device Wallpaper Colors
You can optionally pick colors from your device wallpaper instead of album artwork.
dynamic_color package to extract wallpaper colors on Android 12+.
Static Colors
Prefer a consistent look? Set static colors that don’t change with your music.Color Palette Features
Palette Generation
Namida extracts up to 28 colors from each artwork to create a rich color palette:- Gradient backgrounds
- UI accents and highlights
- Party mode effects
- Mini-player edge breathing effects
Batch Palette Generation
Generate palettes for entire library
Generate palettes for entire library
You can pre-generate color palettes for all tracks in your library:
- Go to Settings → Customization
- Tap Generate All Color Palettes
- Namida will process your entire library in the background
- Palettes are cached for instant application
This process can take time depending on your library size, but dramatically improves color switching performance during playback.
Advanced Color Options
Animated Theme Transitions
Enable Animated Theme for smooth color transitions when:- Switching between tracks
- Changing theme modes
- Navigating between pages
Force Miniplayer Track Color
By default, the miniplayer uses the global theme color. Enable this option to force the miniplayer to always use the current track’s extracted color, even when browsing other content.This creates a more immersive experience where the miniplayer always reflects your currently playing music.
Color Performance
Namida is optimized for efficient color extraction:- Isolate Processing: Color extraction runs in a separate isolate to prevent UI blocking
- Caching System: Extracted palettes are saved as
.palettefiles - Memory Mapping: Frequently used colors are kept in memory
- Fallback Handling: Uses folder artwork or YouTube thumbnails when track artwork is unavailable
Customization Reference
Auto Color
Automatically extract and apply colors from album artworkSetting:
settings.autoColorStatic Color (Light)
Default color for light theme modeSetting:
settings.staticColorStatic Color (Dark)
Default color for dark theme modeSetting:
settings.staticColorDarkPitch Black
Pure black backgrounds for AMOLED displaysSetting:
settings.pitchBlackTechnical Details
Color Extraction Process
Source Code Reference
The theming system is implemented in:lib/controller/current_color.dart: Color extraction and management (lines 36-649)lib/controller/settings_controller.dart: Theme settings (lines 59-64)