Dark Mode — bu nima, mobil ilovalarda qorongʻu interfeys mavzusi

Muallif: IT Sectr Nashr etilgan: 2026-02-26 O'qish vaqti: 7 daq

Dark Mode (qorongʻu mavzu) — ekran foni qorongʻi (toʻq kulrang yoki qora), matn va elementlar esa ochiq rangda boʻlgan interfeys rang sxemasi. Dark Mode zaif yoritishda koʻz yukini kamaytiradi, OLED displeylarda batareya zaryadini tejaydi (Google, 2019 maʼlumotlariga koʻra 60% gacha) va fotofobiyasi boʻlgan foydalanuvchilar uchun foydalanish imkoniyati talablariga javob beradi. iOS 13 va Android 10 da Dark Mode tizim opsiyasiga aylandi — foydalanuvchi qorongʻu mavzuni global ravishda yoqadi, ilova esa uni avtomatik qabul qiladi. Batafsil Android-ning qorongʻu mavzu boʻyicha rasmiy hujjatlarida.

Asosiy maʼlumotlar

  • Dark Mode — koʻrish yukini kamaytirish uchun qorongʻu fon va ochiq matnli rang sxemasi
  • OLED tejamkorligi — OLED ekranlarda qorongʻu piksellar oʻchirilgan boʻlib, batareyani 60% gacha tejaydi
  • Android forceDarkMode — Android Q+ da qorongʻu mavzuni majburiy yoqish tizim opsiyasi
  • iOS traitCollection — ochiq va qorongʻu mavzu oʻrtasida aniqlash va oʻtish uchun Swift API
  • Dynamic Themes — Material You (Android 12+) qurilma fon rasmidan qorongʻu palitra yaratadi

Dark Mode nima va nima uchun kerak?

Dark Mode — ekran foni qorongʻi (odatda Android da #121212, iOS da #1C1C1E), matn va interfeys elementlari ochiq rangda boʻlgan rang sxemasi. Oddiy rang inversiyasidan farqli oʻlaroq, sifatli Dark Mode maxsus tanlangan palitradan foydalanadi: toza qora oʻrniga toʻq kulrang fon (halo effektini kamaytiradi), past toʻyinganlikdagi urgʻu ranglari va yumshoq soyalar. Dark Mode ning tizimli qoʻllab-quvvatlashi iOS 13 (sentyabr 2019) va Android 10 da (sentyabr 2019) paydo boʻldi.

Asosiy joriy etish sababi — foydalanuvchi qulayligi. Zaif yoritishda (kechqurun, qorongʻida) yorqin oq ekran koʻz zoʻriqishiga sabab boʻladi va bosh ogʻrigʻiga olib kelishi mumkin. Dark Mode oʻqish qobiliyatini yoʻqotmasdan ekran yorqinligini kamaytiradi. Fotofobiya yoki yorugʻlikka sezgirligi boʻlgan foydalanuvchilar uchun qorongʻu mavzu tanlov emas, balki ilovadan qulay foydalanishning yagona imkoniyatidir. Android Developers maʼlumotlariga koʻra, Android foydalanuvchilarining 30% dan ortigʻi doimiy ravishda qorongʻu mavzuni yoqadi.

Dark Mode batareyani tejaydi OLED ekranlarda. LCD dan farqli oʻlaroq, orqa yoritish doimo yoniq boʻlganida, OLED piksellari mustaqil ravishda yoritiladi. Qorongʻu rang pikselning oʻchirilganligini anglatadi — energiya isteʼmoli pasayadi. Google (Android Developers Blog, 2019) maʼlumotlariga koʻra, OLED ekranli Pixel da 100% yorqinlikda Dark Mode energiya isteʼmolini ochiq mavzuga nisbatan 60% ga kamaytiradi. LCD ekranlarda tejamkorlik minimal (taxminan 3–5%), chunki matritsaning orqa yoritilishi piksel rangidan qatʼiy nazar ishlaydi.

Mobil OT larda Dark Mode tarixi

Tizimli qoʻllab-quvvatlash Dark Mode bir necha bosqichdan oʻtdi. iOS 13 (2019) UIUserInterfaceStyle orqali global qorongʻu mavzuni taqdim etdi. Android 10 (2019) oʻz qorongʻu mavzusi boʻlmagan ilovalar uchun Force Dark Mode ni qoʻshdi. Android 12 (2021) Material You bilan fon rasmidan avtomatik qorongʻu palitra yaratishni boshladi. iOS 15 (2021) API ni Safari va veb-kontent uchun kengaytirdi. StatCounter (2026) maʼlumotlariga koʻra, App Store va Google Play dagi top-100 ilovalarning 82% i Dark Mode ni qoʻllab-quvvatlaydi.

PlatformaVersiyaYilAsosiy yangilik
iOS132019UIUserInterfaceStyle, traitCollection.userInterfaceStyle
Android10 (Q)2019Force Dark Mode, AppCompat DayNight mavzusi
iOS152021Veb-kontent va Safari uchun qorongʻu mavzu
Android122021Material You Dynamic Themes avtomatik qorongʻu palitra yaratish

iOS da Dark Mode: Swift API va UIKit qoʻllab-quvvatlashi

iOS Dark Mode API UITraitEnvironment protokoliga asoslanadi. Har bir UIViewController va UIView traitCollection.userInterfaceStyle xususiyatiga ega boʻlib, u .unspecified, .light yoki .dark boʻlishi mumkin. Tizim mavzusi oʻzgarganda iOS traitCollectionDidChange(_:) metodini chaqiradi. Dasturchi ushbu metoddagi ranglarni yangilashi yoki ochiq va qorongʻu palitra oʻrtasida avtomatik oʻtadigan dinamik ranglardan (UIColor(dynamicProvider:)) foydalanishi kerak.

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
    }
}

// Dark Mode ni majburiy yoqish
window.overrideUserInterfaceStyle = .dark

Dinamik ranglar — iOS da Dark Mode ni amalga oshirishning eng yaxshi usuli. UIColor(named:) Asset Catalog dan .light va .dark koʻrinish uchun turli qiymatlarni avtomatik yuklaydi. Assets.xcassets da ikki variant (Any Appearance + Dark Appearance) bilan rangni sozlash kifoya, UIKit oʻzi keraklisini tanlaydi. Dinamik tizim ranglari (UIColor.systemBackground, .label, .secondaryLabel) allaqachon Dark Mode ni qoʻllab-quvvatlaydi va avtomatik oʻzgaradi.

SwiftUI va Dark Mode

SwiftUI Dark Mode ni qutidan chiqqandayoq qoʻllab-quvvatlaydi. Barcha standart ranglar va modifierlar (Color.primary, .background, Color(UIColor.systemBackground)) avtomatik moslashadi. Maxsus ranglar uchun dinamik UIColor bilan Color(uiColor:) yoki @Environment(\.colorScheme) muhit oʻzgaruvchisidan mavzuni aniq tekshirish uchun foydalaning. SwiftUI View mavzu oʻzgarganda traitCollectionDidChange ni chaqirmasdan avtomatik qayta chiziladi.

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)
    }
}

Android da Dark Mode: Kotlin API va AppCompat

Android Dark Mode AppCompat kutubxonasi va Theme.AppCompat.DayNight mavzusi orqali amalga oshiriladi. Kunduzi ochiq mavzu, kechasi esa qorongʻu mavzu ishlatiladi. Majburiy yoqish AppCompatDelegate.setDefaultNightMode() orqali sozlanadi: MODE_NIGHT_YES (qorongʻu), MODE_NIGHT_NO (ochiq), MODE_NIGHT_FOLLOW_SYSTEM (tizim). Resurslar ochiq (res/values/styles.xml) va qorongʻu (res/values-night/styles.xml) ga boʻlinadi.

kotlin
// Qorongʻu mavzuni majburiy yoqish
class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        // super.onCreate dan oldin sozlash
        AppCompatDelegate.setDefaultNightMode(
            AppCompatDelegate.MODE_NIGHT_YES
        )
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }

    // Joriy mavzuni aniqlash
    private val isDarkMode: Boolean
        get() = (resources.configuration.uiMode and
            Configuration.UI_MODE_NIGHT_MASK) ==
            Configuration.UI_MODE_NIGHT_YES
}

// AndroidManifest.xml da tungi rejimni roʻyxatdan oʻtkazish
// android:configChanges="uiMode"

Force Dark Mode — qorongʻu mavzuni qoʻllab-quvvatlamaydigan ilovalar ranglarini avtomatik teskari oʻgiradigan Android 10+ tizim funksiyasi. Dasturchi sozlamalari yoki mavzudagi android:forceDarkAllowed="true" atributi orqali yoqiladi. Bu vaqtinchalik yechim: ishlab chiqarish uchun values-night orqali oʻz qorongʻu palitrangizni amalga oshirishingiz kerak, aks holda vizual sifat past boʻladi (teskari oʻgirilgan piktogrammalar, yomon oʻqiladigan ranglar).

Material You Dynamic Themes

Material You (Android 12+) qurilma fon rasmidan avtomatik ravishda 5 ta asosiy rang yaratadi: primary, secondary, tertiary, neutral, neutralVariant. Har bir rang uchun ochiq va qorongʻu palitralar yaratiladi. Dasturchi atributlardan foydalanadi: ?attr/colorPrimary, ?attr/colorOnPrimary, ?attr/colorSurface. Tizim joriy mavzu uchun variantni oʻzi tanlaydi. Dynamic Color Material Design 3 bilan Android 12+ da qoʻllab-quvvatlanadi (komponent com.google.android.material:material).

kotlin
// values/themes.xml — ochiq mavzu
<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 — qorongʻu mavzu
<style name="Theme.MyApp" parent="Theme.Material3.DayNight">
    <item name="colorPrimary">@color/primary_dark</item>
    <item name="colorOnPrimary">@color/on_primary_dark</item>
</style>

Qorongʻu mavzu dizayni: kontrast va rang qoidalari

Dark Mode dizayni — oddiy rang inversiyasi emas. Google Material Design toza qora oʻrniga toʻq kulrang (#121212) ishlatishni tavsiya qiladi. Toza qora (#000000) oq matn bilan juda yuqori kontrast yaratib, halo effektiga (harflar atrofida yorugʻlik) sabab boʻladi. Elementlarning balandlik (elevatsiya) darajasi rang orqali aniqlanadi: element qanchalik baland boʻlsa, foni shunchalik ochiq boʻladi. Fon ustidagi kart — #1E1E1E, dialog — #2D2D2D, navigatsiya paneli — #383838.

Rang kontrasti Dark Mode da Light Mode dan past boʻlishi kerak. Material Design tavsiya qiladi: primary matni — oq (#FFFFFF) 87% shaffoflik bilan, secondary — 60%, disabled — 38%. Urgʻu ranglari kamroq toʻyingan boʻlishi kerak: ochiq mavzuda primary = #6200EE boʻlsa, qorongʻuda — #BB86FC (ochiq, yumshoq binafsha). WCAG 2.1 ga koʻra, oddiy matn uchun minimal kontrast 4.5:1 har ikki mavzuda ham saqlanishi kerak.

ElementLight ModeDark ModeKontrast
Ekran foni#FFFFFF#121212
Kart#F5F5F5#1E1E1EElevatsiya 1dp
Primary matn#000000 87%#FFFFFF 87%15.8:1
Secondary matn#000000 60%#FFFFFF 60%9.0:1
Primary rang#6200EE#BB86FC7.2:1

Rasmlar va piktogrammalar qorongʻu mavzuda alohida ishlov berishni talab qiladi. Shaffoflikka ega piktogrammalar ochiq rangga boʻyalishi kerak. Yorqin fonli fotosuratlar koʻzni qamashtiruvchi koʻrinishi mumkin — yorqinlikni 20–30% ga kamaytirish yoki yarim shaffof qoplama qoʻshish tavsiya etiladi. Logotiplar va brend elementlari uchun qorongʻu fon uchun versiyadan foydalaning. iOS Asset Catalog va Android VectorDrawable ochiq va qorongʻu mavzu uchun alohida resurslarni qoʻllab-quvvatlaydi.

Dark Mode va Light Mode taqqoslashi: afzallik va kamchiliklar

Mavzu tanlovi foydalanish shartlariga, kontent turiga va foydalanuvchi afzalliklariga bogʻliq. Nielsen Norman Group (2020) tadqiqoti shuni koʻrsatdiki: normal yoritishda Light Mode oʻqish tezligini 15–20% ga oshiradi. Biroq zaif yoritish sharoitida Dark Mode koʻz charchoqini kamaytiradi va oʻqish qobiliyatini yaxshilaydi. Koʻp miqdorda matnli interfeyslar uchun (maqolalar, hujjatlar) Light Mode odatda afzalroq.

Energiya isteʼmoli — OLED da Dark Mode uchun asosiy argumentdir. Google (2019) maʼlumotlariga koʻra, YouTube qorongʻu mavzuda OLED ekranda ochiq mavzuga nisbatan 43% kam energiya sarflaydi. Google Maps — 32%. Interfeys qanchalik yorqin va ekran yorqinligi qanchalik yuqori boʻlsa, tejamkorlik shunchalik sezilarli. LCD ekranlarda tejamkorlik 5% dan oshmaydi. Ilova bilan ochiq havoda yorqin quyosh ostida koʻp ishlaydigan foydalanuvchilar uchun Light Mode yagona oʻqiladigan variant boʻlib qoladi.

MezonDark ModeLight Mode
Yorqin yorugʻlikda oʻqish qobiliyatiPast (qorongʻu fonda yaltiroqlik)Yuqori (maksimal kontrast)
Qorongʻida koʻz charchoqiPastYuqori (yorqin yorugʻlik)
OLED energiya isteʼmoliPast (60% gacha)Yuqori
LCD energiya isteʼmoliBir xil (±5%)Bir xil (±5%)
Ranglarni idrok etishOʻzgartirilgan (past toʻyinganlik)Tabiiy
AkkomodatsiyaKoʻnikish uchun vaqt talab etiladiKoʻz uchun tabiiy

IT Sectr tavsiyalari — ikkala mavzuni oʻzgartirish imkoniyati bilan amalga oshiramiz: tizim (follow system), qorongʻu, ochiq. Avtomatik oʻtish yagona variant boʻlmasligi kerak — foydalanuvchi kunduzi (migren vaqtida) qorongʻu mavzuni yoki kechasi (oʻqiyotganda) ochiq mavzuni xohlashi mumkin. Loyihalarimizda profil sozlamalarida mavzu kalitini qoʻshamiz va tanlovni eslab qolamiz. Premium kontentli ilovalar uchun (foto, video) qoʻllashdan oldin mavzu oldindan koʻrish tavsiya etiladi.

Tez-tez beriladigan savollar

Dark Mode batareyani tejaydimi?

Ha, OLED ekranlarda tejamkorlik 60% ga yetadi (Google, Pixel, 2019). Interfeys qanchalik yorqin boʻlsa, tejamkorlik shunchalik koʻp. LCD ekranlarda farq minimal — 5% gacha, chunki matritsaning orqa yoritilishi piksel rangidan qatʼiy nazar ishlaydi. Agar foydalanuvchi oq elementlar ustunlik qiladigan ilovadan faol foydalansa, Dark Mode maksimal samara beradi.

Dark Mode Material You qorongʻu mavzusidan nima bilan farq qiladi?

Dark Mode — qorongʻu interfeys sxemasining umumiy konsepsiyasi. Material You Dynamic Themes (Android 12+) — qurilma fon rasmidan avtomatik qorongʻu palitra yaratadigan amalga oshirish. Foydalanuvchi qorongʻu mavzuni majburiy yoqishi mumkin, Material You esa sobit qorongʻu ranglardan foydalanish oʻrniga ranglarni shaxsiylashtirilgan palitraga moslashtiradi.

iOS da Dark Mode ni qanday yoqish mumkin?

Sozlamalar → Ekran va yorqinlik → Koʻrinish boʻlimida „Qorongʻu" ni tanlang. Dasturiy ravishda: AppDelegate da window.overrideUserInterfaceStyle = .dark ni sozlang. Shuningdek, jadval boʻyicha avtomatik oʻtish mavjud (quyosh botishi/chiqishi yoki moslashtirilgan vaqt) — bu kun davomida mavzular oʻrtasida silliq oʻtish imkonini beradi.

Android da forceDarkMode nima?

forceDarkMode (Android 10+) — oʻz qoʻllab-quvvatlashiga ega boʻlmagan ilovalarda qorongʻu mavzuni majburiy yoqish tizim opsiyasi. Android ekran ranglarini avtomatik teskari oʻgiradi. Sifatli qorongʻu mavzu uchun dasturchi values-night orqali oʻz palitrasini amalga oshirishi va forceDarkAllowed ni oʻchirishi kerak.

Mobil OT larda Dark Mode qachon paydo boʻldi?

Tizim Dark Mode iOS 13 (sentyabr 2019) va Android 10 da (sentyabr 2019) paydo boʻldi. Bungacha dasturchilar qorongʻu mavzularni oʻzlari amalga oshirishgan. 2026 yilga kelib App Store va Google Play dagi eng yaxshi ilovalarning 80% dan ortigʻi Dark Mode ni qoʻllab-quvvatlaydi, Apple va Google esa uni majburiy variant sifatida tavsiya qiladi.

Xulosa

  • Dark Mode — zaif yoritishda koʻz yukini kamaytiradigan qorongʻu interfeys rang sxemasi
  • OLED tejamkorligi — OLED ekranlarda energiya isteʼmolini 60% gacha kamaytirish (Google, 2019)
  • iOS API — traitCollection.userInterfaceStyle, UIColor(dynamicProvider:), overrideUserInterfaceStyle
  • Android API — AppCompatDelegate.setDefaultNightMode(), values-night, Force Dark Mode
  • Material You — Dynamic Color qurilma fon rasmidan qorongʻu palitra yaratadi (Android 12+)
  • Dizayn — qora oʻrniga toʻq kulrang #121212, past toʻyingan urgʻular, rang orqali elevatsiya
  • Mavzu tanlovi — tizim opsiyasi + profil sozlamalarida qoʻlda kalitni tavsiya qilamiz

Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz

IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.

Loyihani muhokama qilish

Shuningdek o'qing