Revolut Jul 19, 2023

Customising Android App UI with Themes

Article Summary

Maxim Kostenko from Revolut reveals how they built one of the most customizable Android apps on the market. Their approach goes far beyond basic dark mode—and it required reverse-engineering Android's own framework.

Most Android apps stop at light/dark themes, but Revolut offers users complete control: system-wide dynamic colors, custom color palettes, and real-time theme switching. This deep dive explains the technical implementation behind each personalization layer, including the challenges of runtime theme changes without official Android APIs.

Key Takeaways

Critical Insight

Revolut achieved maximum Android UI personalization by combining dynamic colors, custom theme overlays, and a custom controller that forces activity recreation—techniques that work without migrating to Material3.

The article includes a complete working demo app on GitHub that implements all three theming approaches, plus the exact code for the ColorThemesController that makes runtime switching possible.

Recent from Revolut

Related Articles