हमें यह बताते हुए खुशी हो रही है कि Jetpack WindowManager 1.5.0 अब स्टेबल हो गया है!
इस रिलीज़ में, WindowManager की अडैप्टेबिलिटी की सुविधा को और बेहतर बनाया गया है. इससे, अडैप्टिव यूज़र इंटरफ़ेस (यूआई) बनाना और भी आसान हो गया है. ये यूज़र इंटरफ़ेस, सभी स्क्रीन साइज़ पर शानदार दिखते हैं. Android ईकोसिस्टम लगातार बढ़ रहा है. इसलिए, उपयोगकर्ता पहले से ज़्यादा डिवाइसों पर ऐप्लिकेशन का इस्तेमाल कर रहे हैं. जैसे, फ़ोन, फ़ोल्ड किए जा सकने वाले डिवाइस, टैबलेट, कनेक्टेड डिसप्ले, Chromebook, और यहां तक कि पार्क किए गए मोड में कार के डिसप्ले पर भी ऐप्लिकेशन का इस्तेमाल किया जा रहा है.
WindowManager 1.5, अलग-अलग तरह के डिवाइसों के लिए बेहतर टूल उपलब्ध कराने पर फ़ोकस करता है.
WindowManager 1.5 में नया क्या है
इस स्टेबल रिलीज़ में, बहुत बड़ी स्क्रीन के लिए नए ब्रेकपॉइंट जोड़े गए हैं. साथ ही, गतिविधि एम्बेड करने वाले एपीआई को बेहतर बनाया गया है. इसके अलावा, विंडो मेट्रिक का हिसाब लगाने के लिए ज़्यादा विकल्प दिए गए हैं.
विंडो के साइज़ की नई क्लास: बड़ी और बहुत बड़ी
1.5 वर्शन में सबसे बड़ा अपडेट, चौड़ाई के हिसाब से विंडो के साइज़ की दो नई क्लास जोड़ी गई हैं: बड़ी और बहुत बड़ी.
विंडो साइज़ क्लास, व्यूपोर्ट ब्रेकपॉइंट का हमारा आधिकारिक सेट है. इससे आपको अडैप्टिव लेआउट डिज़ाइन और डेवलप करने में मदद मिलती है. Android 1.5 के साथ, हम इस गाइडलाइन को उन स्क्रीन के लिए भी उपलब्ध करा रहे हैं जो सामान्य टैबलेट से बड़ी होती हैं.
चौड़ाई के नए ब्रेकपॉइंट यहां दिए गए हैं:
- बड़ा: 1200dp और 1600dp के बीच की चौड़ाई के लिए
- बहुत बड़ा: चौड़ाई ≥1600dp के लिए
डिसप्ले की चौड़ाई के आधार पर, विंडो के साइज़ की अलग-अलग क्लास.
ये क्यों ज़रूरी हैं?
Android 16 QPR1 Beta 2 से, Android में कनेक्ट किए गए डिसप्ले की सुविधा उपलब्ध है. इसकी मदद से, उपयोगकर्ता अपने डिवाइस को किसी बाहरी डिसप्ले से कनेक्ट कर सकते हैं. साथ ही, उसे बड़ी स्क्रीन वाले डेस्कटॉप जैसे टूल में बदल सकते हैं.
फ़ोन को किसी बाहरी डिसप्ले से कनेक्ट किया गया है. बाहरी डिसप्ले पर डेस्कटॉप सेशन चल रहा है.
यह नई सुविधा उपलब्ध होने के बाद, बड़े डिसप्ले को शामिल करने के बारे में राय देना ज़रूरी है.
इन बड़ी स्क्रीन पर, टैबलेट के बड़े किए गए लेआउट को सिर्फ़ बड़ा करने से, हमेशा बेहतर उपयोगकर्ता अनुभव नहीं मिलता. उदाहरण के लिए, कोई ईमेल क्लाइंट, बड़ी की गई विंडो के साइज़ क्लास में दो पैन (मेलबॉक्स और मैसेज) आसानी से दिखा सकता है. हालाँकि, बहुत बड़े डेस्कटॉप मॉनिटर पर, ईमेल क्लाइंट तीन या चार पैन को बेहतर तरीके से दिखा सकता है. जैसे, एक साथ मेलबॉक्स, ईमेल की सूची, ईमेल का पूरा कॉन्टेंट, और कैलेंडर/टास्क पैनल.
WindowManager 1.5, बहुत बड़े डिसप्ले साइज़ के लिए आधिकारिक ब्रेकपॉइंट उपलब्ध कराता है. इससे आपको ऐसे लेआउट पेश करने का साफ़ तौर पर सिग्नल मिलता है जिन्हें खास तौर पर, ज़्यादा जानकारी वाले डेस्कटॉप अनुभव को बेहतर बनाने के लिए डिज़ाइन किया गया है.
computeWindowSizeClass() का इस्तेमाल करके, विंडो के साइज़ की क्लास का हिसाब लगाया जा सकता है. यह androidx.window.core.layout लाइब्रेरी का एक्सटेंशन फ़ंक्शन है, जो Set<WindowSizeClass> टाइप को बढ़ाता है.
अपने प्रोजेक्ट में नई विंडो साइज़ क्लास शामिल करने के लिए, WindowSizeClass.BREAKPOINTS_V1 के बजाय WindowSizeClass.BREAKPOINTS_V2 सेट से फ़ंक्शन को कॉल करें:
val currentWindowMetrics = WindowMetricsCalculator.getOrCreate() .computeCurrentWindowMetrics(LocalContext.current) val sizeClass = WindowSizeClass.BREAKPOINTS_V2 .computeWindowSizeClass(currentWindowMetrics)
इसके बाद, सही लेआउट लागू करें. ऐसा तब करें, जब आपको पक्का हो कि आपके ऐप्लिकेशन में कम से कम इतनी जगह है:
if(sizeClass.isWidthAtLeastBreakpoint(
WindowSizeClass.WIDTH_DP_LARGE_LOWER_BOUND)){
...
// window is at least 1200 dp wide
}
अडैप्टिव लाइब्रेरी
Compose Material 3 Adaptive library की मदद से, अडैप्टिव यूज़र इंटरफ़ेस (यूआई) बनाए जा सकते हैं. ये यूआई, विंडो के मौजूदा कॉन्फ़िगरेशन के हिसाब से अपने-आप अडजस्ट हो जाते हैं. जैसे, विंडो साइज़ क्लास या डिवाइस के पोस्चर.
अच्छी खबर यह है कि लाइब्रेरी, नए ब्रेकपॉइंट के साथ पहले से ही अप-टू-डेट है! वर्शन 1.2 (अब रिलीज़ कैंडिडेट स्टेज में है) से, डिफ़ॉल्ट पैन स्कैफ़ोल्ड डायरेक्टिव फ़ंक्शन, बड़ी और बहुत बड़ी विंडो की चौड़ाई वाली साइज़ क्लास के साथ काम करते हैं.
आपको सिर्फ़ ऑप्ट-इन करना होगा. इसके लिए, अपनी Gradle बिल्ड फ़ाइल में यह एलान करें कि आपको नए ब्रेकपॉइंट का इस्तेमाल करना है:
currentWindowAdaptiveInfo( supportLargeAndXLargeWidth = true)
अन्य सुधार
- गतिविधि एम्बेड करना — अपने-आप सेव होना और वापस लाना: WindowManager अब आपकी गतिविधि एम्बेड करने की स्प्लिट स्क्रीन की स्थिति को अपने-आप सेव कर सकता है और वापस ला सकता है. इससे प्रोसेस को फिर से शुरू करने पर भी, उपयोगकर्ता का लेआउट बना रहता है. इससे उपयोगकर्ता को ज़्यादा स्थिर और एक जैसा अनुभव मिलता है. डेवलपर को अब मैन्युअल तरीके से स्थिति को सेव करने और वापस लाने की ज़रूरत नहीं है. वे EmbeddingConfiguration#isAutoSaveEmbeddingState प्रॉपर्टी सेट करके, अपने-आप सेव होने की सुविधा के लिए ऑप्ट-इन कर सकते हैं.
- बढ़ी हुई WindowMetrics: अब WindowMetrics को सिर्फ़ Activity कॉन्टेक्स्ट से नहीं, बल्कि Application कॉन्टेक्स्ट से भी कैलकुलेट किया जा सकता है. इससे, आपके ऐप्लिकेशन के अलग-अलग हिस्सों से विंडो की जानकारी को ऐक्सेस करने में ज़्यादा आसानी होती है.
शुरू करने का तरीका
अपने Android प्रोजेक्ट में, बड़ी और बहुत बड़ी साइज़ क्लास और 1.5 की अन्य सुविधाओं का इस्तेमाल शुरू करने के लिए, build.gradle.kts में अपने ऐप्लिकेशन की डिपेंडेंसी को नए स्टेबल वर्शन पर अपडेट करें:
dependencies {
implementation("androidx.window:window:1.5.0")
// or, if you're using the WindowManager testing library:
testImplementation("androidx.window:window-testing:1.5.0")
}
WindowManager 1.5, पूरी तरह से अडैप्टिव ऐप्लिकेशन बनाने की दिशा में एक और कदम है. ये ऐप्लिकेशन, Android के अलग-अलग साइज़, डाइमेंशन या कॉन्फ़िगरेशन वाले डिवाइसों पर काम करते हैं. बदलावों और बग ठीक करने से जुड़ी पूरी सूची देखने के लिए, आधिकारिक रिलीज़ नोट देखें.
कोडिंग करते रहें!
पढ़ना जारी रखें
-
प्रॉडक्ट से जुड़ी खबरें
हमें यह बताते हुए खुशी हो रही है कि Android पर मोबाइल और डेस्कटॉप कंप्यूटिंग को एक साथ लाने के लिए, हमने एक अहम पड़ाव पार कर लिया है: Android 16 QPR3 की रिलीज़ के साथ, कनेक्टेड डिसप्ले की सुविधा अब सबके लिए उपलब्ध है!
Francesco Romano • 7 मिनट में पढ़ें
-
प्रॉडक्ट से जुड़ी खबरें
Android Studio Panda 4 अब स्टेबल हो गया है और प्रोडक्शन में इस्तेमाल के लिए तैयार है. इस रिलीज़ में प्लानिंग मोड, अगले बदलाव का अनुमान लगाने की सुविधा, और अन्य सुविधाएं शामिल हैं. इससे अच्छी क्वालिटी वाले Android ऐप्लिकेशन बनाना पहले से ज़्यादा आसान हो गया है.
Matt Dyor • पांच मिनट में पढ़ें
-
प्रॉडक्ट से जुड़ी खबरें
अगर आप एक Android डेवलपर हैं और आपको अपने ऐप्लिकेशन में एआई की नई सुविधाएं लागू करनी हैं, तो हमने हाल ही में कुछ नए अपडेट लॉन्च किए हैं.
Thomas Ezan • तीन मिनट में पढ़ें
अप-टू-डेट रहें
Android डेवलपमेंट से जुड़ी नई अहम जानकारी, हर हफ़्ते अपने इनबॉक्स में पाएं.