ڈارک موڈ (ڈارک تھیم) ایک رنگ سکیم ہے جس میں اسکرین کا پس منظر گہرا (گہرا سرمئی یا سیاہ) ہو جاتا ہے، اور متن اور عناصر ہلکے ہو جاتے ہیں۔ ڈارک موڈ کم روشنی میں آنکھوں کے تناؤ کو کم کرتا ہے، OLED ڈسپلے پر بیٹری بچاتا ہے (Google، 2019 کے اعداد و شمار کے مطابق 60% تک) اور فوٹو فوبیا کے شکار صارفین کے لیے رسائی کی ضروریات کو پورا کرتا ہے۔ iOS 13 اور Android 10 میں ڈارک موڈ ایک سسٹم آپشن بن گیا — صارف عالمی سطح پر ڈارک تھیم کو فعال کرتا ہے اور ایپلیکیشن خودکار طور پر اسے اپنا لیتی ہے۔ مزید تفصیل کے لیے ڈارک تھیم سے متعلق Android کی سرکاری دستاویزات دیکھیں۔
اہم نکات
ڈارک موڈ ایک رنگ سکیم ہے جس میں اسکرین کا پس منظر گہرا (عام طور پر Android میں #121212، iOS میں #1C1C1E) ہوتا ہے، جبکہ متن اور انٹرفیس کے عناصر ہلکے ہوتے ہیں۔ سادہ رنگ الٹنے کے برعکس، کوالٹی ڈارک موڈ احتیاط سے منتخب کردہ پیلیٹ استعمال کرتا ہے: خالص سیاہ کے بجائے گہرا سرمئی پس منظر (ہالو اثر کو کم کرتا ہے)، کم سنترپتی والے ایکسنٹ رنگ اور نرم سایے۔ سسٹم سطح پر ڈارک موڈ سپورٹ iOS 13 (ستمبر 2019) اور Android 10 (ستمبر 2019) میں آیا۔
اپنانے کی بنیادی وجہ صارف کا آرام ہے۔ کم روشنی میں (شام، اندھیرے میں) چمکدار سفید اسکرین آنکھوں میں تناؤ پیدا کرتی ہے اور سر درد کا سبب بن سکتی ہے۔ ڈارک موڈ پڑھنے کی اہلیت کو قربان کیے بغیر اسکرین کی چمک کم کرتا ہے۔ فوٹو فوبیا یا روشنی کی حساسیت والے صارفین کے لیے، ڈارک تھیم کوئی آپشن نہیں بلکہ ایپلیکیشن کو آرام سے استعمال کرنے کا واحد طریقہ ہے۔ Android Developers کے مطابق، Android کے 30% سے زیادہ صارفین ہر وقت ڈارک تھیم کو فعال رکھتے ہیں۔
ڈارک موڈ 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 ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔
مزید پڑھیں