Dark Mode — wat is het, donkere interfacemodus in mobiele apps

Auteur: IT Sectr Gepubliceerd: 2026-02-26 Leestijd: 7 min

Dark Mode (donkere modus) — een kleurenschema van de interface waarbij de achtergrond donker wordt (donkergrijs of zwart) en tekst en elementen licht worden. Dark Mode vermindert de belasting van de ogen bij weinig licht, bespaart batterij op OLED-schermen (tot 60% volgens Google, 2019) en voldoet aan de toegankelijkheidseisen voor gebruikers met fotofobie. In iOS 13 en Android 10 werd Dark Mode een systeemoptie — de gebruiker schakelt de donkere modus wereldwijd in en de app neemt deze automatisch over. Meer in de officiële Android-documentatie over de donkere modus.

Belangrijkste punten

  • Dark Mode — een kleurenschema met donkere achtergrond en lichte tekst om de ogen te ontlasten
  • OLED-besparing — op OLED-schermen zijn donkere pixels uitgeschakeld, wat tot 60% batterij bespaart
  • Android forceDarkMode — systeemoptie voor het geforceerd inschakelen van de donkere modus in Android Q+
  • iOS traitCollection — Swift API voor het detecteren en schakelen tussen lichte en donkere modus
  • Dynamic Themes — Material You (Android 12+) genereert een donker palet uit de achtergrond van het apparaat

Wat is Dark Mode en waarom is het nodig?

Dark Mode — is een kleurenschema van de interface waarbij de achtergrond donker is (meestal #121212 in Android, #1C1C1E in iOS) en tekst en interface-elementen licht zijn. In tegenstelling tot simpele kleurinversie gebruikt kwalitatieve Dark Mode een speciaal geselecteerd palet: donkergrijze achtergrond in plaats van puur zwart (vermindert het halo-effect), lagere verzadiging van accentkleuren en zachte schaduwen. Systeemondersteuning voor Dark Mode verscheen in iOS 13 (september 2019) en Android 10 (september 2019).

Belangrijkste reden voor implementatie — gebruikerscomfort. Bij weinig licht ('s avonds, in het donker) veroorzaakt een helder wit scherm oogspanning en kan hoofdpijn veroorzaken. Dark Mode vermindert de schermhelderheid zonder verlies van leesbaarheid. Voor gebruikers met fotofobie of lichtgevoeligheid is de donkere modus geen optie, maar de enige manier om de app comfortabel te gebruiken. Volgens Android Developers schakelt meer dan 30% van de Android-gebruikers de donkere modus permanent in.

Dark Mode bespaart batterij op OLED-schermen. In tegenstelling tot LCD, waarbij de achtergrondverlichting altijd brandt, lichten OLED-pixels zelfstandig op. Donkere kleur betekent dat de pixel is uitgeschakeld — energieverbruik daalt. Volgens Google (Android Developers Blog, 2019) vermindert Dark Mode op een Pixel met OLED-scherm bij 100% helderheid het energieverbruik met 60% vergeleken met de lichte modus. Op LCD-schermen is de besparing minimaal (ongeveer 3–5%), omdat de matrixachtergrondverlichting onafhankelijk van de pixelkleur werkt.

Geschiedenis van Dark Mode in mobiele besturingssystemen

Systeemondersteuning Dark Mode doorliep verschillende fasen. iOS 13 (2019) introduceerde de wereldwijde donkere modus via UIUserInterfaceStyle. Android 10 (2019) voegde Force Dark Mode toe voor apps zonder eigen donkere modus. Android 12 (2021) met Material You begon automatisch een donker palet uit de achtergrond te genereren. iOS 15 (2021) breidde de API uit voor Safari en webinhoud. Volgens StatCounter (2026) ondersteunt 82% van de top 100 apps in App Store en Google Play Dark Mode.

PlatformVersieJaarBelangrijkste innovatie
iOS132019UIUserInterfaceStyle, traitCollection.userInterfaceStyle
Android10 (Q)2019Force Dark Mode, DayNight-thema AppCompat
iOS152021Donkere modus voor webinhoud en Safari
Android122021Material You Dynamic Themes met automatische generatie van donker palet

Dark Mode in iOS: Swift API en UIKit-ondersteuning

iOS Dark Mode API is gebaseerd op het UITraitEnvironment-protocol. Elke UIViewController en UIView heeft de eigenschap traitCollection.userInterfaceStyle, die .unspecified, .light of .dark kan zijn. Bij wijziging van de systeemmodus roept iOS de methode traitCollectionDidChange(_:) aan. De ontwikkelaar moet de kleuren in deze methode bijwerken of dynamische kleuren gebruiken (UIColor(dynamicProvider:)) die automatisch schakelen tussen het lichte en donkere palet.

swift
class ViewController: UIViewController {

    @IBOutlet var titleLabel: UILabel!

    override func traitCollectionDidChange(_: UITraitCollection?) {
        super.traitCollectionDidChange(previousTraitCollection)
        if traitCollection.hasDifferentColorAppearance(comparedTo: previousTraitCollection) {
            updateColors()
        }
    }

    func updateColors() {
        let isDark = traitCollection.userInterfaceStyle == .dark
        view.backgroundColor = isDark ? UIColor(named: "darkBackground") : .systemBackground
        titleLabel.textColor = isDark ? .white : .darkText
    }
}

// Geforceerd inschakelen van Dark Mode
window.overrideUserInterfaceStyle = .dark

Dynamische kleuren — de beste manier om Dark Mode in iOS te implementeren. UIColor(named:) laadt automatisch verschillende waarden uit Asset Catalog voor .light en .dark appearance. Het volstaat om de kleur in Assets.xcassets in te stellen met twee varianten (Any Appearance + Dark Appearance) en UIKit kiest zelf de juiste. Dynamische systeemkleuren (UIColor.systemBackground, .label, .secondaryLabel) ondersteunen al Dark Mode en veranderen automatisch.

SwiftUI en Dark Mode

SwiftUI ondersteunt Dark Mode uit de doos. Alle standaardkleuren en modifiers (Color.primary, .background, Color(UIColor.systemBackground)) passen zich automatisch aan. Gebruik voor aangepaste kleuren Color(uiColor:) met dynamische UIColor of de omgevingsvariabele @Environment(\.colorScheme) voor expliciete controle van de modus. SwiftUI View wordt automatisch opnieuw getekend bij wijziging van de modus, zonder dat traitCollectionDidChange hoeft te worden aangeroepen.

swift
struct ThemeView: View {
    @Environment(\.colorScheme) var colorScheme

    var body: some View {
        Text("Dark Mode")
            .foregroundColor(colorScheme == .dark ? .white : .black)
            .background(colorScheme == .dark ? Color(.systemGray6) : .white)
    }
}

Dark Mode in Android: Kotlin API en AppCompat

Android Dark Mode wordt geïmplementeerd via de AppCompat-bibliotheek en het thema Theme.AppCompat.DayNight. Overdag wordt de lichte modus gebruikt, 's nachts de donkere. Geforceerd inschakelen wordt ingesteld via AppCompatDelegate.setDefaultNightMode(): MODE_NIGHT_YES (donker), MODE_NIGHT_NO (licht), MODE_NIGHT_FOLLOW_SYSTEM (systeem). Resources worden verdeeld in lichte (res/values/styles.xml) en donkere (res/values-night/styles.xml).

kotlin
// Geforceerd inschakelen van donkere modus
class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        // Instellen vóór super.onCreate
        AppCompatDelegate.setDefaultNightMode(
            AppCompatDelegate.MODE_NIGHT_YES
        )
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }

    // Huidige modus bepalen
    private val isDarkMode: Boolean
        get() = (resources.configuration.uiMode and
            Configuration.UI_MODE_NIGHT_MASK) ==
            Configuration.UI_MODE_NIGHT_YES
}

// Nachtmodus registreren in AndroidManifest.xml
// android:configChanges="uiMode"

Force Dark Mode — systeemfunctie van Android 10+ die automatisch de kleuren inverteert van apps die de donkere modus niet ondersteunen. Wordt ingeschakeld via Ontwikkelaarsopties of via het attribuut android:forceDarkAllowed="true" in het thema. Dit is een tijdelijke oplossing: voor productie moet u een eigen donker palet implementeren via values-night, anders is de visuele kwaliteit laag (geïnverteerde pictogrammen, slecht leesbare kleuren).

Material You Dynamic Themes

Material You (Android 12+) genereert automatisch 5 kernkleuren uit de achtergrond van het apparaat: primary, secondary, tertiary, neutral, neutralVariant. Voor elke kleur worden lichte en donkere paletten gemaakt. De ontwikkelaar gebruikt attributen: ?attr/colorPrimary, ?attr/colorOnPrimary, ?attr/colorSurface. Het systeem kiest zelf de variant voor de huidige modus. Dynamic Color wordt ondersteund op Android 12+ met Material Design 3 (component com.google.android.material:material).

kotlin
// values/themes.xml — lichte modus
<style name="Theme.MyApp" parent="Theme.Material3.DayNight">
    <item name="colorPrimary">@color/primary_light</item>
    <item name="colorOnPrimary">@color/on_primary_light</item>
</style>

// values-night/themes.xml — donkere modus
<style name="Theme.MyApp" parent="Theme.Material3.DayNight">
    <item name="colorPrimary">@color/primary_dark</item>
    <item name="colorOnPrimary">@color/on_primary_dark</item>
</style>

Ontwerp van donkere modus: regels voor contrast en kleur

Dark Mode-ontwerp — is niet alleen kleurinversie. Google Material Design beveelt het gebruik van donkergrijs (#121212) aan in plaats van puur zwart. Puur zwart (#000000) creëert een te hoog contrast met witte tekst, wat een halo-effect (lichtkrans rond letters) veroorzaakt. Het elevatieniveau van elementen wordt bepaald door kleur: hoe hoger het element, hoe lichter de achtergrond. Kaart op achtergrond — #1E1E1E, dialoog — #2D2D2D, navigatiepaneel — #383838.

Kleurcontrast in Dark Mode moet lager zijn dan in Light Mode. Material Design beveelt aan: primary tekst — wit (#FFFFFF) met 87% dekking, secondary — 60%, disabled — 38%. Accentkleuren moeten minder verzadigd zijn: als in de lichte modus primary = #6200EE, dan in de donkere — #BB86FC (licht, gedempt paars). Volgens WCAG 2.1 moet een minimaal contrast van 4.5:1 voor gewone tekst in beide modi worden gehandhaafd.

ElementLight ModeDark ModeContrast
Schermachtergrond#FFFFFF#121212
Kaart#F5F5F5#1E1E1EElevatie 1dp
Primary tekst#000000 87%#FFFFFF 87%15.8:1
Secondary tekst#000000 60%#FFFFFF 60%9.0:1
Primary kleur#6200EE#BB86FC7.2:1

Afbeeldingen en pictogrammen vereisen aparte verwerking in de donkere modus. Pictogrammen met transparantie moeten worden overgeschilderd in een lichte kleur. Foto's met een lichte achtergrond kunnen verblindend lijken — het wordt aanbevolen de helderheid met 20–30% te verminderen of een halfdoorzichtige overlay toe te voegen. Gebruik voor logo's en merkelementen de versie voor donkere achtergrond. iOS Asset Catalog en Android VectorDrawable ondersteunen aparte resources voor lichte en donkere modus.

Vergelijking Dark Mode en Light Mode: voor- en nadelen

Keuze tussen modi hangt af van gebruiksomstandigheden, type inhoud en gebruikersvoorkeuren. Onderzoek van Nielsen Norman Group (2020) toonde aan: bij normaal licht zorgt Light Mode voor 15–20% hogere leessnelheid. Echter, bij weinig licht vermindert Dark Mode oogvermoeidheid en verbetert de leesbaarheid. Voor interfaces met veel tekst (artikelen, documenten) heeft Light Mode meestal de voorkeur.

Energieverbruik — het belangrijkste argument voor Dark Mode op OLED. Volgens Google (2019) verbruikt YouTube in de donkere modus op een OLED-scherm 43% minder energie dan in de lichte modus. Google Maps — 32%. Hoe helderder de interface en hoe hoger het helderheidsniveau, hoe significanter de besparing. Op LCD-schermen bedraagt de besparing niet meer dan 5%. Voor gebruikers die veel met de app buiten in fel zonlicht werken, blijft Light Mode de enige leesbare optie.

CriteriumDark ModeLight Mode
Leesbaarheid bij fel lichtLaag (schittering op donkere achtergrond)Hoog (maximaal contrast)
Oogvermoeidheid in het donkerLaagHoog (fel licht)
Energieverbruik OLEDLaag (tot -60%)Hoog
Energieverbruik LCDHetzelfde (±5%)Hetzelfde (±5%)
KleurwaarnemingVervormd (lagere verzadiging)Natuurlijk
AccommodatieVereist tijd om te wennenNatuurlijk voor het oog

Aanbevelingen IT Sectr — we implementeren beide modi met schakelmogelijkheid: systeem (follow system), donker, licht. Automatisch schakelen mag niet de enige optie zijn — de gebruiker kan overdag (bij migraine) de donkere modus willen of 's nachts (bij het lezen) de lichte modus. In onze projecten voegen we een modusschakelaar toe in de profielinstellingen en onthouden we de keuze. Voor apps met premium content (foto, video) wordt aanbevolen een voorbeeld van de modus te tonen voordat deze wordt toegepast.

Veelgestelde vragen

Bespaart Dark Mode batterij?

Ja, op OLED-schermen kan de besparing oplopen tot 60% (Google, Pixel, 2019). Hoe helderder de interface, hoe groter de besparing. Op LCD-schermen is het verschil minimaal — tot 5%, omdat de matrixachtergrondverlichting onafhankelijk van de pixelkleur werkt. Als de gebruiker actief een app met overwegend witte elementen gebruikt, geeft Dark Mode het maximale effect.

Wat is het verschil tussen Dark Mode en de donkere modus van Material You?

Dark Mode — het algemene concept van een donker interfaceschema. Material You Dynamic Themes (Android 12+) — een implementatie die automatisch een donker palet genereert uit de achtergrond van het apparaat. De gebruiker kan de donkere modus geforceerd inschakelen en Material You past de kleuren aan het gepersonaliseerde palet aan, in plaats van vaste donkere kleuren te gebruiken.

Hoe schakel ik Dark Mode in iOS in?

Ga naar Instellingen → Scherm en helderheid → Weergave en selecteer „Donker". Programmatisch: stel window.overrideUserInterfaceStyle = .dark in in AppDelegate. Ook is automatisch schakelen op schema beschikbaar (zonsondergang/zonsopkomst of aangepaste tijd) — dit maakt een soepele overgang tussen modi gedurende de dag mogelijk.

Wat is forceDarkMode in Android?

forceDarkMode (Android 10+) — een systeemoptie voor het geforceerd inschakelen van de donkere modus in apps zonder eigen ondersteuning. Android inverteert automatisch de schermkleuren. Voor een kwalitatieve donkere modus moet de ontwikkelaar een eigen palet implementeren via values-night en forceDarkAllowed uitschakelen.

Wanneer verscheen Dark Mode in mobiele besturingssystemen?

Systemische Dark Mode verscheen in iOS 13 (september 2019) en Android 10 (september 2019). Daarvoor implementeerden ontwikkelaars donkere modi zelf. In 2026 ondersteunt meer dan 80% van de top-apps in App Store en Google Play Dark Mode, en Apple en Google raden het aan als verplichte optie.

Samenvatting

  • Dark Mode — donker kleurenschema van de interface dat de ogen ontlast bij weinig licht
  • OLED-besparing — tot 60% vermindering van energieverbruik op OLED-schermen (Google, 2019)
  • iOS API — traitCollection.userInterfaceStyle, UIColor(dynamicProvider:), overrideUserInterfaceStyle
  • Android API — AppCompatDelegate.setDefaultNightMode(), values-night, Force Dark Mode
  • Material You — Dynamic Color genereert een donker palet uit de apparaatachtergrond (Android 12+)
  • Ontwerp — donkergrijs #121212 in plaats van zwart, lagere verzadiging van accenten, elevatie via kleur
  • Moduskeuze — we raden systeemoptie + handmatige schakelaar in profielinstellingen aan

We ontwikkelen een mobiele applicatie turnkey

IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.

Bespreek het project

Lees ook