डिसप्ले का कटा हुआ हिस्सा, कुछ डिवाइसों पर डिसप्ले के हिस्से में होता है. इससे डिवाइस के सामने वाले हिस्से पर एज-टू-एज डिसप्ले का अनुभव मिलता है. साथ ही, ज़रूरी सेंसर के लिए भी जगह मिलती है.


Android, Android 9 (एपीआई लेवल 28) और इसके बाद के वर्शन वाले डिवाइसों पर डिसप्ले में काट-आउट की सुविधा के साथ काम करता है. हालांकि, डिवाइस बनाने वाली कंपनियां, Android 8.1 या इससे पहले के वर्शन पर काम करने वाले डिवाइसों पर भी डिसप्ले कटआउट की सुविधा दे सकती हैं.
इस पेज पर, Compose में कटआउट वाले डिवाइसों के लिए सहायता लागू करने का तरीका बताया गया है. इसमें कटआउट वाले हिस्से के साथ काम करने का तरीका भी बताया गया है. कटआउट वाला हिस्सा, डिसप्ले की सतह पर किनारे से किनारे तक मौजूद रेक्टैंगल होता है.
डिफ़ॉल्ट केस
एपीआई लेवल 34 या उससे पहले के वर्शन को टारगेट करने वाले ऐप्लिकेशन या ऐसी गतिविधियां जो enableEdgeToEdge
को कॉल नहीं करतीं, वे डिफ़ॉल्ट रूप से कटिंग आउट वाले हिस्से में नहीं दिखेंगी. ऐसा तब तक होगा, जब तक ऐप्लिकेशन, डिसप्ले कटिंग आउट वाले सिस्टम बार में नहीं दिखता.
Android 15 या उसके बाद के वर्शन पर काम करने वाले डिवाइसों पर, एपीआई लेवल 35 या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन या enableEdgeToEdge
को कॉल करने वाली गतिविधियां, कटआउट वाले हिस्से में ड्रॉ करती हैं.
दूसरे शब्दों में, Android 15 या उसके बाद के वर्शन पर काम करने वाले डिवाइसों में, एपीआई लेवल 35 या उससे बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन में, LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT
,
LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
, और
LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER
को LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS
के तौर पर समझा जाता है.
काट-छांट की जानकारी को मैन्युअल तरीके से मैनेज करना
आपको काट-छांट वाले हिस्से की जानकारी को मैनेज करना होगा, ताकि काट-छांट वाले हिस्से से ज़रूरी टेक्स्ट, कंट्रोल या इंटरैक्टिव एलिमेंट को छिपने से रोका जा सके. इन एलिमेंट को ठीक से पहचानने के लिए, फ़ाइन-टच की ज़रूरत होती है. काट-छांट वाले हिस्से में टच सेंसिटिविटी कम हो सकती है. कटआउट मैनेज करते समय, स्टेटस बार की ऊंचाई को हार्डकोड न करें. ऐसा करने से, कॉन्टेंट ओवरलैप हो सकता है या काटकर दिख सकता है. इसके बजाय, इनमें से किसी भी तरीके से काट-छांट करें:
WindowInsets.displayCutout
,WindowInsets.safeContent
याWindowInsets.safeDrawing
का इस्तेमाल करकेLocalView.current.rootWindowInsets.displayCutout
का इस्तेमाल करके, काटा गयाPath
ऑब्जेक्ट ऐक्सेस करना
हमारा सुझाव है कि Compose के लिए, अपने कॉम्पोज़ेबल में काट-आउट इनसेट को मैनेज करने के लिए, displayCutout
, safeContent
या
safeDrawing
का इस्तेमाल करें. इस तरीके से, ज़रूरत पड़ने पर डिसप्ले के कटी हुई जगह के पैडिंग का इस्तेमाल किया जा सकता है या ज़रूरत न होने पर उसे अनदेखा किया जा सकता है.
Canvas(modifier = Modifier.fillMaxSize().windowInsetsPadding(WindowInsets.displayCutout)) { drawRect(Color.Red, style = Stroke(2.dp.toPx())) }
आपके लिए सुझाव
- ध्यान दें: JavaScript बंद होने पर लिंक टेक्स्ट दिखता है
- लिखने की सुविधा में विंडो इनसेट
- ग्राफ़िक्स में बदलाव करने वाले टूल
- पैराग्राफ़ की स्टाइल तय करना