• Docs
  • /
  • App Features & Customization

App Theme Settings: Light, Dark, and Custom

How to configure your app's theme (light, dark, or system default) and how WebView content interacts with the Android theme layer.

Your app's theme controls the visual treatment of native Android UI elements: the status bar, navigation bar, splash screen background, and any native dialog boxes that appear (such as permission prompts). The WebView content (your website) is styled independently by your website's own CSS.

Theme Options

System Default

The app follows the device's system-level dark/light mode setting. If the user has dark mode enabled on their device, the native UI elements display in dark colors. If they have light mode, native elements use light colors.

This is generally the best option for most apps because it respects the user's preference and feels native. However, it only affects native UI elements: your website's appearance in dark mode is controlled by your website's CSS, not the app theme setting.

Light (Forced)

Forces the native UI elements to light mode regardless of the device setting. Use this if your website is explicitly designed for light mode only and would look incorrect if native elements were dark while your website was light.

Dark (Forced)

Forces native UI elements to dark mode. Use this if your website is explicitly dark-themed and you want the native chrome to match.

WebView Dark Mode

Android 10+ supports forcing the WebView to render web content in dark mode using WebSettings.setForceDark(). This inverts colors in pages that don't have their own dark mode implementation. However, this feature is deprecated in Android 13 in favor of websites implementing their own dark mode via @media (prefers-color-scheme: dark).

WebToAppConvert's recommendation: implement dark mode support directly on your website using CSS media queries. This ensures consistent behavior across browsers and apps, and is the approach that will work long-term as the Android WebView API evolves.

If you need forced dark mode in the WebView for legacy reasons, contact support.

Status Bar Appearance

The status bar (the top bar showing time, battery, and signal) can be configured independently:

  • Transparent: The status bar overlays your content. Use this for a full-bleed splash screen or hero image experience.
  • Solid color: The status bar shows a solid color that you specify. Typically matches your app's primary brand color.
  • Light icons: Use when the status bar background is dark (icons appear white)
  • Dark icons: Use when the status bar background is light (icons appear dark/black)

Navigation Bar

The bottom navigation bar (the Android gesture area or button bar) can be configured to match your app's primary color or use the system default. For apps with a white or light website background, set the navigation bar to white or your brand's background color to avoid a visual disconnect at the bottom of the screen.

Practical Recommendations

For most apps:

  • Use System Default for theme
  • Match splash screen background color to your website body background
  • Set status bar color to your brand's primary color with appropriate icon color (light icons on dark backgrounds, dark icons on light backgrounds)
  • Match navigation bar to your website's bottom background color

The goal is a seamless experience where the app's native chrome and your website's content look like they belong together, with no jarring color transitions.

Still need help?

Can't find the answer you're looking for? Reach out to our support team.

Contact Support