डार्क मोड (डार्क थीम) एक कलर स्कीम है जिसमें स्क्रीन का बैकग्राउंड डार्क (गहरा ग्रे या काला) हो जाता है, और टेक्स्ट व एलिमेंट हल्के होते हैं। डार्क मोड कम रोशनी में आंखों के तनाव को कम करता है, OLED डिस्प्ले पर बैटरी चार्ज बचाता है (Google, 2019 के अनुसार 60% तक) और फोटोफोबिया वाले उपयोगकर्ताओं के लिए एक्सेसिबिलिटी आवश्यकताओं को पूरा करता है। iOS 13 और Android 10 में डार्क मोड एक सिस्टम विकल्प बन गया — उपयोगकर्ता वैश्विक रूप से डार्क थीम चालू करता है, और एप्लिकेशन इसे स्वचालित रूप से अपना लेता है। अधिक जानकारी के लिए डार्क थीम पर आधिकारिक Android दस्तावेज़ीकरण देखें।
मुख्य बिंदु
डार्क मोड एक कलर स्कीम है जिसमें स्क्रीन का बैकग्राउंड डार्क (आमतौर पर Android में #121212, iOS में #1C1C1E) होता है, जबकि टेक्स्ट और इंटरफ़ेस एलिमेंट हल्के होते हैं। साधारण रंग उलटाव के विपरीत, गुणवत्तापूर्ण डार्क मोड सावधानीपूर्वक चयनित पैलेट का उपयोग करता है: शुद्ध काले के बजाय गहरा ग्रे बैकग्राउंड (हेलो प्रभाव कम करता है), कम संतृप्ति वाले एक्सेंट रंग और नरम छायाएं। सिस्टम-स्तरीय डार्क मोड समर्थन iOS 13 (सितंबर 2019) और Android 10 (सितंबर 2019) में आया।
अपनाने का मुख्य कारण उपयोगकर्ता की सुविधा है। कम रोशनी में (शाम, अंधेरे में) चमकदार सफेद स्क्रीन आंखों में तनाव पैदा करती है और सिरदर्द का कारण बन सकती है। डार्क मोड पठनीयता को खोए बिना स्क्रीन की चमक कम करता है। फोटोफोबिया या प्रकाश संवेदनशीलता वाले उपयोगकर्ताओं के लिए, डार्क थीम कोई विकल्प नहीं बल्कि एप्लिकेशन का आराम से उपयोग करने का एकमात्र तरीका है। Android Developers के अनुसार, 30% से अधिक Android उपयोगकर्ता हर समय डार्क थीम चालू रखते हैं।
डार्क मोड OLED स्क्रीन पर बैटरी बचाता है। LCD के विपरीत, जहां बैकलाइट हमेशा चालू रहती है, OLED पिक्सेल स्वयं चमकते हैं। डार्क रंग का मतलब है कि पिक्सेल बंद है — बिजली की खपत कम हो जाती है। Google (Android Developers Blog, 2019) के अनुसार, OLED डिस्प्ले वाले Pixel पर 100% चमक पर डार्क मोड हल्की थीम की तुलना में बिजली की खपत 60% कम कर देता है। LCD स्क्रीन पर बचत न्यूनतम (लगभग 3–5%) है क्योंकि मैट्रिक्स बैकलाइट पिक्सेल रंग से स्वतंत्र रूप से काम करती है।
सिस्टम समर्थन ने कई चरणों को पार किया है। iOS 13 (2019) ने UIUserInterfaceStyle के माध्यम से वैश्विक डार्क थीम शुरू की। Android 10 (2019) ने अपनी खुद की डार्क थीम के बिना एप्लिकेशन के लिए Force Dark Mode जोड़ा। Android 12 (2021) ने Material You के साथ वॉलपेपर से स्वचालित रूप से डार्क पैलेट जनरेट करना शुरू किया। iOS 15 (2021) ने Safari और वेब सामग्री के लिए API का विस्तार किया। StatCounter (2026) के अनुसार, App Store और Google Play में शीर्ष 100 एप्लिकेशन में से 82% डार्क मोड का समर्थन करते हैं।
| प्लेटफ़ॉर्म | संस्करण | वर्ष | मुख्य नवाचार |
|---|---|---|---|
| iOS | 13 | 2019 | UIUserInterfaceStyle, traitCollection.userInterfaceStyle |
| Android | 10 (Q) | 2019 | Force Dark Mode, AppCompat DayNight थीम |
| iOS | 15 | 2021 | वेब सामग्री और Safari के लिए डार्क थीम |
| Android | 12 | 2021 | स्वचालित रूप से जनरेटेड डार्क पैलेट के साथ Material You Dynamic Themes |
iOS डार्क मोड API UITraitEnvironment प्रोटोकॉल पर आधारित है। प्रत्येक UIViewController और UIView में traitCollection.userInterfaceStyle प्रॉपर्टी होती है, जो .unspecified, .light या .dark हो सकती है। जब सिस्टम थीम बदलती है, iOS traitCollectionDidChange(_:) मेथड को कॉल करता है। डेवलपर को इस मेथड में रंगों को अपडेट करना चाहिए, या डायनामिक रंग (UIColor(dynamicProvider:)) का उपयोग करना चाहिए जो हल्के और डार्क पैलेट के बीच स्वचालित रूप से स्विच करते हैं।
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
}
}
// डार्क मोड को强制 चालू करें
window.overrideUserInterfaceStyle = .dark
डायनामिक रंग — iOS में डार्क मोड लागू करने का सबसे अच्छा तरीका। UIColor(named:) .light और .dark अपीयरेंस के लिए Asset Catalog से स्वचालित रूप से अलग-अलग मान लोड करता है। बस Assets.xcassets में दो वेरिएंट (Any Appearance + Dark Appearance) के साथ एक रंग परिभाषित करें, और UIKit अपने आप सही रंग चुन लेगा। डायनामिक सिस्टम रंग (UIColor.systemBackground, .label, .secondaryLabel) पहले से ही डार्क मोड का समर्थन करते हैं और स्वचालित रूप से बदलते हैं।
SwiftUI डार्क मोड को बिना किसी अतिरिक्त प्रयास के समर्थन करता है। सभी मानक रंग और मॉडिफ़ायर (Color.primary, .background, Color(UIColor.systemBackground)) स्वचालित रूप से अनुकूलित होते हैं। कस्टम रंगों के लिए डायनामिक UIColor के साथ Color(uiColor:) या @Environment(\.colorScheme) वेरिएबल का उपयोग करें। SwiftUI View थीम बदलने पर स्वचालित रूप से रीड्रॉ होती है, बिना traitCollectionDidChange कॉल किए।
struct ThemeView: View {
@Environment(\.colorScheme) var colorScheme
var body: some View {
Text("डार्क मोड")
.foregroundColor(colorScheme == .dark ? .white : .black)
.background(colorScheme == .dark ? Color(.systemGray6) : .white)
}
}
Android डार्क मोड AppCompat लाइब्रेरी और Theme.AppCompat.DayNight थीम के माध्यम से लागू किया जाता है। दिन में हल्की थीम का उपयोग किया जाता है, रात में — डार्क। AppCompatDelegate.setDefaultNightMode() के माध्यम से强制 चालू किया जाता है: MODE_NIGHT_YES (डार्क), MODE_NIGHT_NO (हल्का), MODE_NIGHT_FOLLOW_SYSTEM (सिस्टम)। संसाधन हल्के (res/values/styles.xml) और डार्क (res/values-night/styles.xml) में विभाजित होते हैं।
// डार्क थीम को强制 चालू करें
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
// super.onCreate से पहले सेट करें
AppCompatDelegate.setDefaultNightMode(
AppCompatDelegate.MODE_NIGHT_YES
)
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
// वर्तमान थीम निर्धारित करें
private val isDarkMode: Boolean
get() = (resources.configuration.uiMode and
Configuration.UI_MODE_NIGHT_MASK) ==
Configuration.UI_MODE_NIGHT_YES
}
// AndroidManifest.xml में नाइट मोड रजिस्टर करें
// android:configChanges="uiMode"
Force Dark Mode — Android 10+ की एक सिस्टम सुविधा है जो डार्क थीम समर्थन के बिना एप्लिकेशन के रंगों को स्वचालित रूप से उलट देती है। इसे डेवलपर विकल्पों के माध्यम से या थीम में android:forceDarkAllowed="true" विशेषता के माध्यम से चालू किया जाता है। यह एक अस्थायी समाधान है: उत्पादन के लिए, आपको values-night के माध्यम से अपनी खुद की डार्क पैलेट लागू करनी होगी, अन्यथा दृश्य गुणवत्ता खराब होगी (उलटे आइकन, पढ़ने में मुश्किल रंग)।
Material You (Android 12+) डिवाइस के वॉलपेपर से स्वचालित रूप से 5 मुख्य रंग जनरेट करता है: primary, secondary, tertiary, neutral, neutralVariant। प्रत्येक रंग के लिए हल्के और डार्क पैलेट बनाए जाते हैं। डेवलपर विशेषताओं का उपयोग करता है: ?attr/colorPrimary, ?attr/colorOnPrimary, ?attr/colorSurface। सिस्टम स्वयं वर्तमान थीम के लिए वेरिएंट चुनता है। Dynamic Color Android 12+ पर Material Design 3 (com.google.android.material:material कंपोनेंट) के साथ समर्थित है।
// values/themes.xml — हल्की थीम
<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 — डार्क थीम
<style name="Theme.MyApp" parent="Theme.Material3.DayNight">
<item name="colorPrimary">@color/primary_dark</item>
<item name="colorOnPrimary">@color/on_primary_dark</item>
</style>
डार्क मोड डिज़ाइन — सिर्फ रंगों का उलटाव नहीं है। Google Material Design शुद्ध काले के बजाय गहरे ग्रे (#121212) का उपयोग करने की सलाह देता है। शुद्ध काला (#000000) सफेद टेक्स्ट के साथ बहुत अधिक कंट्रास्ट बनाता है, जिससे हेलो प्रभाव (अक्षरों के चारों ओर चमक) होता है। एलिमेंट की ऊंचाई रंग के माध्यम से व्यक्त की जाती है: एलिमेंट जितना ऊंचा, उसका बैकग्राउंड उतना ही हल्का। बैकग्राउंड के ऊपर कार्ड — #1E1E1E, डायलॉग — #2D2D2D, नेविगेशन पैनल — #383838।
रंग कंट्रास्ट डार्क मोड में लाइट मोड की तुलना में कम होना चाहिए। Material Design अनुशंसा करता है: प्राइमरी टेक्स्ट — सफेद (#FFFFFF) 87% अपारदर्शिता के साथ, सेकंडरी — 60%, डिसेबल्ड — 38%। एक्सेंट रंग कम संतृप्त होने चाहिए: यदि हल्की थीम में primary = #6200EE है, तो डार्क में — #BB86FC (हल्का, म्यूट बैंगनी)। WCAG 2.1 के अनुसार, सामान्य टेक्स्ट के लिए न्यूनतम कंट्रास्ट 4.5:1 दोनों थीम में बनाए रखा जाना चाहिए।
| एलिमेंट | लाइट मोड | डार्क मोड | कंट्रास्ट |
|---|---|---|---|
| स्क्रीन बैकग्राउंड | #FFFFFF | #121212 | — |
| कार्ड | #F5F5F5 | #1E1E1E | एलिवेशन 1dp |
| प्राइमरी टेक्स्ट | #000000 87% | #FFFFFF 87% | 15.8:1 |
| सेकंडरी टेक्स्ट | #000000 60% | #FFFFFF 60% | 9.0:1 |
| प्राइमरी रंग | #6200EE | #BB86FC | 7.2:1 |
इमेज और आइकन को डार्क थीम में अलग से संभालने की आवश्यकता होती है। पारदर्शिता वाले आइकन को हल्के रंगों में रीकलर किया जाना चाहिए। चमकदार बैकग्राउंड वाली तस्वीरें चौंधिया सकती हैं — चमक को 20-30% कम करने या अर्ध-पारदर्शी ओवरले जोड़ने की अनुशंसा की जाती है। लोगो और ब्रांड एलिमेंट के लिए, डार्क बैकग्राउंड के लिए संस्करण का उपयोग करें। iOS Asset Catalog और Android VectorDrawable हल्की और डार्क थीम के लिए अलग-अलग संसाधनों का समर्थन करते हैं।
थीम के बीच चयन उपयोग की स्थितियों, सामग्री के प्रकार और उपयोगकर्ता की प्राथमिकताओं पर निर्भर करता है। Nielsen Norman Group (2020) के एक अध्ययन ने दिखाया: सामान्य रोशनी में, लाइट मोड 15-20% अधिक पढ़ने की गति प्रदान करता है। हालांकि, कम रोशनी की स्थितियों में, डार्क मोड आंखों की थकान कम करता है और पठनीयता में सुधार करता है। बड़ी मात्रा में टेक्स्ट (लेख, दस्तावेज़) वाले इंटरफ़ेस के लिए, लाइट मोड आमतौर पर बेहतर होता है।
बिजली की खपत — OLED पर डार्क मोड के लिए एक मुख्य तर्क है। Google (2019) के अनुसार, OLED स्क्रीन पर डार्क थीम में YouTube हल्की थीम की तुलना में 43% कम ऊर्जा खपत करता है। Google Maps — 32%। इंटरफ़ेस जितना चमकीला होगा और स्क्रीन की चमक का स्तर जितना अधिक होगा, बचत उतनी ही अधिक होगी। LCD स्क्रीन पर बचत 5% से अधिक नहीं होती है। उपयोगकर्ताओं के लिए जो तेज धूप में बाहर एप्लिकेशन के साथ काम करते हैं, लाइट मोड ही एकमात्र पढ़ने योग्य विकल्प बना हुआ है।
| मानदंड | डार्क मोड | लाइट मोड |
|---|---|---|
| तेज रोशनी में पठनीयता | कम (डार्क बैकग्राउंड पर चमक) | उच्च (अधिकतम कंट्रास्ट) |
| अंधेरे में आंखों की थकान | कम | उच्च (चमकदार रोशनी) |
| OLED बिजली खपत | कम (-60% तक) | उच्च |
| LCD बिजली खपत | समान (±5%) | समान (±5%) |
| रंग धारणा | विकृत (कम संतृप्ति) | प्राकृतिक |
| अनुकूलन | अभ्यस्त होने में समय लगता है | आंख के लिए प्राकृतिक |
IT Sectr अनुशंसाएं — हम स्विचिंग विकल्पों के साथ दोनों थीम लागू करते हैं: सिस्टम (सिस्टम का पालन करें), डार्क, लाइट। ऑटो-स्विचिंग एकमात्र विकल्प नहीं होना चाहिए — उपयोगकर्ता दिन में डार्क थीम (माइग्रेन के लिए) या रात में लाइट थीम (पढ़ने के लिए) चाह सकता है। हमारे प्रोजेक्ट्स में, हम प्रोफ़ाइल सेटिंग्स में थीम स्विच जोड़ते हैं और चयन याद रखते हैं। प्रीमियम सामग्री (फोटो, वीडियो) वाले एप्लिकेशन के लिए, लागू करने से पहले थीम पूर्वावलोकन की अनुशंसा की जाती है।
अक्सर पूछे जाने वाले प्रश्न
हां, OLED स्क्रीन पर बचत 60% तक पहुंच सकती है (Google, Pixel, 2019)। इंटरफ़ेस जितना चमकीला होगा, बचत उतनी ही अधिक होगी। LCD स्क्रीन पर, अंतर न्यूनतम है — 5% तक, क्योंकि मैट्रिक्स बैकलाइट पिक्सेल रंग से स्वतंत्र रूप से काम करती है। यदि उपयोगकर्ता मुख्य रूप से सफेद एलिमेंट वाले एप्लिकेशन का सक्रिय रूप से उपयोग करता है, तो डार्क मोड अधिकतम प्रभाव देता है।
डार्क मोड — डार्क इंटरफ़ेस स्कीम की सामान्य अवधारणा है। Material You Dynamic Themes (Android 12+) — एक कार्यान्वयन है जो डिवाइस के वॉलपेपर से स्वचालित रूप से डार्क पैलेट जनरेट करता है। उपयोगकर्ता डार्क थीम को强制 चालू कर सकता है, और Material You निश्चित डार्क रंगों का उपयोग करने के बजाय रंगों को एक व्यक्तिगत पैलेट में समायोजित करेगा।
सेटिंग्स → डिस्प्ले और ब्राइटनेस → अपीयरेंस में जाएं और «डार्क» चुनें। प्रोग्रामेटिक रूप से: AppDelegate में window.overrideUserInterfaceStyle = .dark सेट करें। शेड्यूल (सूर्यास्त/सूर्योदय या कस्टम समय) द्वारा स्वचालित स्विचिंग भी उपलब्ध है, जो दिन भर में थीम के बीच सहज संक्रमण की अनुमति देता है।
forceDarkMode (Android 10+) — बिना मूल समर्थन वाले एप्लिकेशन में डार्क थीम को强制 चालू करने का एक सिस्टम विकल्प है। Android स्वचालित रूप से स्क्रीन के रंगों को उलट देता है। गुणवत्तापूर्ण डार्क थीम के लिए, डेवलपर को values-night के माध्यम से अपनी खुद की पैलेट लागू करनी चाहिए और forceDarkAllowed को अक्षम करना चाहिए।
सिस्टम डार्क मोड iOS 13 (सितंबर 2019) और Android 10 (सितंबर 2019) में दिखाई दिया। उससे पहले, डेवलपर अपने दम पर डार्क थीम लागू करते थे। 2026 तक, App Store और Google Play में 80% से अधिक शीर्ष एप्लिकेशन डार्क मोड का समर्थन करते हैं, और Apple और Google इसे एक अनिवार्य विकल्प के रूप में अनुशंसित करते हैं।
सारांश
हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे
IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।
यह भी पढ़ें