Compose Material 3 Adaptive

  
अडैप्टिव यूज़र इंटरफ़ेस (यूआई) बनाने के लिए, Material 3 की अडैप्टिव लाइब्रेरी का इस्तेमाल करें. ये यूआई, विंडो के मौजूदा कॉन्फ़िगरेशन के हिसाब से अपने-आप अडजस्ट हो जाएंगे. जैसे, विंडो के साइज़ की क्लास या डिवाइस के पोज़िशन. यह लाइब्रेरी, डिफ़ॉल्ट स्कफ़ॉल्ड लागू करने के साथ-साथ, ज़रूरी बिल्डिंग ब्लॉक कॉम्पोज़ेबल भी उपलब्ध कराती है, ताकि आप अपने हिसाब से अनुभव बना सकें.
नया अपडेट रिलीज़ किया गया जांचा और परखा हुआ वर्शन रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा रिलीज़
12 दिसंबर, 2024 1.0.0 - - 1.1.0-alpha08

डिपेंडेंसी का एलान करना

Compose में डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.

अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:

ग्रूवी

dependencies {
    implementation "androidx.compose.material3.adaptive:adaptive:1.1.0-alpha02"
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.1.0-alpha02"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.1.0-alpha02"
}

Kotlin

dependencies {
    implementation("androidx.compose.material3.adaptive:adaptive:1.1.0-alpha02")
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.1.0-alpha02"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.1.0-alpha02"
}

डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.

सुझाव

आपके सुझाव, शिकायत या राय से हमें Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या इस लाइब्रेरी को बेहतर बनाने के लिए आपके पास कोई सुझाव है, तो हमें बताएं. नई लाइब्रेरी बनाने से पहले, कृपया इस लाइब्रेरी में मौजूद मौजूदा समस्याओं पर एक नज़र डालें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या पर अपना वोट जोड़ा जा सकता है.

नई समस्या बनाना

ज़्यादा जानकारी के लिए, समस्या ट्रैकर का दस्तावेज़ देखें.

Material3 के अडैप्टिव वर्शन 1.1 का इस्तेमाल करके कॉम्पोनेंट बनाना

वर्शन 1.1.0-alpha08

12 दिसंबर, 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha08 रिलीज़ हो गया है. वर्शन 1.1.0-alpha08 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • currentWindowDpSize फ़ंक्शन के बारे में बताएं. (I99125, b/296300441)
  • PaneScaffoldParentData और ThreePaneScaffoldHorizontalOrder.toLtrOrder() को एक्सपोज़ करना (I2d6b7)
  • PaneScaffoldMotionScope को हटाएं और इसे PaneScaffoldTransitionScope में फ़ील्ड में बदलें. साथ ही, इसका नाम बदलकर PaneScaffoldMotionDataProvider करें और PaneMotionData के डेटा स्ट्रक्चर का ऐक्सेस हटाएं. इसके बजाय, डेटा को ऐक्सेस करने के लिए, गटर और लूपिंग के तरीके दें. (Id8884)
  • अलग-अलग फ़ॉर्म फ़ैक्टर के लिए, साइडलोड करने की सुविधा को लागू करने के लिए, ThreePaneScaffold के लिए बदलाव करने की सुविधा बनाएं. (I5280f)
  • पैनल के एक्सपैंशन की स्थिति को डिफ़ॉल्ट रूप से शून्य कर देता है (Ia65f8, b/376394520)

वर्शन 1.1.0-alpha07

13 नवंबर, 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha07 रिलीज़ हो गया है. वर्शन 1.1.0-alpha07 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • अडैप्टिव लाइब्रेरी में, 'खींचें और छोड़ें' हैंडल को हटाएं. साथ ही, लोगों को इसके M3 वर्शन का इस्तेमाल करने के लिए बढ़ावा दें. साथ ही, हम एक मॉडिफ़ायर भी पेश कर रहे हैं, ताकि दिए गए ड्रैग हैंडल कॉम्पोज़ेबल में पैनल को बड़ा करने के लिए, ड्रैग करने की सुविधा मिल सके. DraggableState को लागू करने की जानकारी के तौर पर भी छिपाएं, ताकि ज़रूरत पड़ने पर हम इसे बाद में बदल सकें. (Ib50cd)
  • यूएक्सआर (यूज़र एक्सपीरियंस रिसर्च) के सुझाव के मुताबिक, पैनल मोशन को पसंद के मुताबिक बनाने के एंट्री पॉइंट को स्कैफ़ोल्ड फ़ंक्शन से AnimatedPane पर ले जाता है. (I10f72)
  • पैनल को बड़ा करने के लिए, फ़्लिंग की सुविधा और कस्टम ऐनिमेशन की जानकारी जोड़ी गई है. (Ie207d, b/362584341)

गड़बड़ियां ठीक की गईं

  • सदस्यता रद्द करने पर, अनुमानित बैक अप से जुड़ी समस्याएं ठीक करना. (36a3e0a), (b/369899645)

वर्शन 1.1.0-alpha06

30 अक्टूबर, 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha06 रिलीज़ हो गया है. वर्शन 1.1.0-alpha06 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • PaneScaffoldTransitionScope.motionProgress में FloatRange जोड़ें. (Iac0dd)
  • नेविगेट किए जा सकने वाले स्कफ़ॉल्ड में, नेविगेटर पैरामीटर के टाइप को सामान्य टाइप में बदलें. (I1da6e)

वर्शन 1.1.0-alpha05

16 अक्टूबर, 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha05 रिलीज़ हो गया है. वर्शन 1.1.0-alpha05 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • ऐनिमेशन स्पेसिफ़िकेशन क्लास को शामिल किया गया है, ताकि ऐनिमेशन की गति को ज़्यादा बेहतर बनाया जा सके और आने वाले समय में इसे और बेहतर बनाया जा सके. (I2d3cc)
  • मोशन टाइप दें और PaneMotionData में मौजूदाXXXXX का नाम बदलकर originXXXX करें. (I7c61a)

वर्शन 1.1.0-alpha04

2 अक्टूबर, 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha04 रिलीज़ हो गया है. वर्शन 1.1.0-alpha04 में ये कमिट शामिल हैं.

नई सुविधाएं

  • NavigableListDetailPaneScaffold और NavigableSupportingPaneScaffold में, पीछे जाने पर झलक दिखाने वाला हाथ का जेस्चर जोड़ा गया. (I4dc21, b/359616816)

एपीआई में हुए बदलाव

  • ThreePaneScaffoldState को ThreePaneScaffoldNavigator में जोड़ा गया. ऐनिमेशन के साथ नेविगेट करने की सुविधा देने के लिए, नेविगेशन के तरीके suspend बनाए गए हैं. नेविगेशन की कुछ स्थितियों (जैसे, अनुमानित तरीके से वापस जाने की सुविधा) के साथ काम करने के लिए, seekBack जोड़ा गया. (I5a651, b/359616816)
  • स्कैफ़ोल्ड वैल्यू के बीच ट्रांज़िशन को कंट्रोल करने के लिए, MutableThreePaneScaffoldState जोड़ा गया. मौजूदा ThreePaneScaffoldState को रीड-ओनली मोड में सेट कर दिया गया है. (Idb3c6)
  • पैनल की डिफ़ॉल्ट मोशन सुविधा को लागू करना (I95a7b)
  • पैनल के बड़ा होने की स्थिति का शुरुआती ऐंकर सेट करने की सुविधा चालू करना (Ie41b3, b/362350560)

गड़बड़ियां ठीक की गईं

  • ड्रैग हैंडल के टच टारगेट का साइज़ कम से कम 48x48dp होना चाहिए (7ce6635, b/366018217)
  • कॉन्फ़िगरेशन में बदलाव करने के बाद, ऐंकर की गई पोज़िशन को वापस लाना (3c9fc6b, b/362353672)

वर्शन 1.1.0-alpha03

18 सितंबर, 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha03 रिलीज़ हो गया है. वर्शन 1.1.0-alpha03 में ये कमिट शामिल हैं.

वर्शन 1.1.0-alpha02

4 सितंबर, 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha02 रिलीज़ हो गया है. वर्शन 1.1.0-alpha02 में ये कमिट शामिल हैं.

नई सुविधाएं

  • ऐडैप्टिव स्कैफ़ोल्ड की स्थिति में बदलाव होने पर, डिफ़ॉल्ट मोशन बदलने के लिए, मेकर के पास मोशन को पसंद के मुताबिक बनाने की सुविधा (I0bf9c), (I80e66) है. क्रिएटर्स, वीडियो में किसी ऑब्जेक्ट को शामिल करने और हटाने के लिए, डिफ़ॉल्ट ट्रांज़िशन में से कोई एक चुन सकते हैं. इसके अलावा, नए मोशन स्कोप की मदद से, अपनी पसंद के मुताबिक ट्रांज़िशन भी लागू किए जा सकते हैं.
  • पैनल को बड़ा करने के लिए, खींचें और छोड़ें वाले हैंडल को धीरे-धीरे गायब होने वाला ऐनिमेशन लागू करना (46e3c69)
  • याद किए गए PaneExpansionState को सेव करने की सुविधा जोड़ना (61ff76f)

एपीआई में हुए बदलाव

  • स्कैफ़ोल्ड में पैनल एक्सपैंशन एपीआई जोड़ना (Ic5bc0)
  • ThreePaneScaffoldDestinationItem.content का नाम बदलकर contentKey किया गया. rememberListDetailPaneScaffoldNavigator और rememberSupportingPaneScaffoldNavigator के डिफ़ॉल्ट टाइप आर्ग्युमेंट को Nothing से बदलकर Any कर दिया गया है. (I58749)
  • ThreePaneScaffoldState को स्थिर के तौर पर मार्क करना (I64aec)
  • खींचें और छोड़ें सुविधा वाले हैंडल के पैरामीटर को स्कोप में रखें (Ic0aa2)

वर्शन 1.1.0-alpha01

21 अगस्त, 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha01 रिलीज़ हो गया है. वर्शन 1.1.0-alpha01 में ये कमिट शामिल हैं.

नई सुविधाएं

  • अडैप्टिव स्कैफ़ोल्ड के पैनल को बड़ा करने की सुविधा जोड़ी गई है.

एपीआई में हुए बदलाव

  • पैनल को बड़ा करने वाले एपीआई को सार्वजनिक तौर पर उपलब्ध कराना (I301d6)
  • पैनल की वैल्यू के ट्रांज़िशन को कंट्रोल करने के लिए, ThreePaneScaffoldState को जोड़ा गया. इस स्टेटस को स्वीकार करने वाले ListDetailPaneScaffold और SupportingPaneScaffold के ओवरलोड जोड़े गए हैं. (I5db3b)
  • पैनल को बड़ा करने की कुंजी और कुंजी देने वाले इंटरफ़ेस (Id621f) को शामिल करना

गड़बड़ियां ठीक की गईं

  • बाहर रखे गए हिंज मौजूद होने पर, पार्टीशन का गलत हिसाब लगाने की समस्या को ठीक करना. (9dfd483)

Material3 के अडैप्टिव वर्शन 1.0 का इस्तेमाल करके कॉम्पोज़ करना

वर्शन 1.0.0

4 सितंबर, 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0 रिलीज़ हो गया है. वर्शन 1.0.0 में ये कमिट शामिल हैं.

1.0.0 के वर्शन की मुख्य सुविधाएं

  • एक लाइन वाले Composable फ़ंक्शन currentWindowSize(), collectFoldingFeaturesAsState(), और currentWindowAdaptiveInfo(), जिनसे ऐप्लिकेशन को अडैप्ट करने के लिए, विंडो की ज़रूरी जानकारी मिलती है. जैसे, विंडो के साइज़ और फ़ोल्ड करने की सुविधाएं.
  • ListDetailPaneScaffold और SupportingPaneScaffold, दो Material3 कैननिकल लेआउट उपलब्ध कराते हैं. ये लेआउट, अलग-अलग विंडो कॉन्फ़िगरेशन के हिसाब से अपने-आप अडजस्ट हो जाएंगे. इन दोनों स्कैफ़ोल्ड को, क्रिएटर्स की अलग-अलग ज़रूरतों के हिसाब से भी बनाया जा सकता है.
  • ThreePaneScaffoldNavigator और इसके काम के 'याद रखें' फ़ंक्शन, rememberListDetailPaneScaffoldNavigator() और rememberSupportingPaneScaffoldNavigator(), अडैप्टिव स्कैफ़ोल्ड में नेविगेशन के समाधान उपलब्ध कराते हैं. यह एक ही समय पर कई नेविगेशन डेस्टिनेशन दिखा सकता है. आम तौर पर, अडैप्टिव स्कैफ़ोल्ड के बजाय, एक बार में एक ही डेस्टिनेशन दिखाने वाला सेटअप इस्तेमाल किया जाता है.
  • अडैप्टिव स्कैफ़ोल्ड के स्टेटस में बदलाव करते समय, डिफ़ॉल्ट रूप से पहले से मौजूद Material3 ऐनिमेशन.

वर्शन 1.0.0-rc01

21 अगस्त, 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-rc01 रिलीज़ हो गया है. वर्शन 1.0.0-rc01 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • बाहर रखे गए हिंज मौजूद होने पर, पार्टीशन का गलत हिसाब लगाने की समस्या को ठीक करना. (9dfd483)

वर्शन 1.0.0-beta04

26 जून, 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta04 रिलीज़ हो गया है. वर्शन 1.0.0-beta04 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • इस समस्या को ठीक किया गया है कि जब हिंज के बाउंड अपडेट होते हैं, तो लेआउट उसी हिसाब से अपडेट नहीं होता. (71e9cf1)

वर्शन 1.0.0-beta03

12 जून, 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta03 रिलीज़ हो गया है. वर्शन 1.0.0-beta03 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • beta02 में, डिपेंडेंसी रिज़ॉल्यूशन के गलत तरीके की वजह से होने वाले क्रैश ठीक किए गए हैं.

वर्शन 1.0.0-beta02

29 मई, 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta02 रिलीज़ हो गया है. वर्शन 1.0.0-beta02 में ये कमिट शामिल हैं.

वर्शन 1.0.0-beta01

14 मई, 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta01 रिलीज़ हो गया है. वर्शन 1.0.0-beta01 में ये कमिट शामिल हैं.

वर्शन 1.0.0-alpha12

1 मई, 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha12 रिलीज़ हो गया है. वर्शन 1.0.0-alpha12 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • HingeInfo (Ie0516, b/333784198) में isFlat की जानकारी जोड़ें
  • अडैप्टिव एपीआई को प्रयोग के तौर पर उपलब्ध न कराना (I1d038)
  • अडैप्टिव लेआउट एपीआई को एक्सपेरिमेंटल के तौर पर उपलब्ध न कराना (Id23df)
  • BackNavigationBehavior को एनम से वैल्यू क्लास (Id8757) में बदला गया

गड़बड़ियां ठीक की गईं

  • ट्रांज़िशन फ़्रैक्शन को लैम्ब्डा (I6f5a9) में बदलना
  • SizeTracker की शुरुआती स्थिति से जुड़ी समस्या को ठीक करना (18326a9)
  • Posture के बराबर होने की जांच में हिंज सूची शामिल करना (6687137)

वर्शन 1.0.0-alpha11

17 अप्रैल, 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha11 रिलीज़ हो गया है. वर्शन 1.0.0-alpha11 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • स्कोप इंटरफ़ेस को सील करें. (Iefa57)
  • AnimatedPaneScope को पेश करें. (I62d73, b/332750742)
  • AdaptStrategy को सील करके रखें और उसे एक जैसा बनाए रखें. (Ia28b2)
  • PaneScaffoldDirective की कॉपी बनाने का तरीका बताएं. (I9291f)
  • ThreePaneScaffoldScope को एक्सपेरिमेंट के तौर पर मार्क करें. (I9d527)
  • नेविगेशन की सुविधा वाले, आसानी से इस्तेमाल किए जा सकने वाले स्काफ़ोल्ड एपीआई उपलब्ध कराएं. (I263f0, b/321010778)

वर्शन 1.0.0-alpha10

3 अप्रैल, 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha10 रिलीज़ हो गया है. वर्शन 1.0.0-alpha10 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • डिफ़ॉल्ट तौर पर पसंदीदा चौड़ाई को अडैप्टिव और पसंद के मुताबिक बनाया जा सकता है. (Ic3abc)
  • स्कैफ़ोल्ड डायरेक्टिव के कैलकुलेशन फ़ंक्शन का नाम बदलें. (I10855)
  • स्कैफ़ोल्ड एपीआई से पैडिंग और इनसेट हटाएं. (I786f8)
  • जेनरिक टाइप के बिना, नेविगेटर को याद रखने के तरीके जोड़ें. (I607c3)

वर्शन 1.0.0-alpha09

20 मार्च, 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha09 रिलीज़ हो गया है. वर्शन 1.0.0-alpha09 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • ThreePaneScaffoldScope में स्टेटस ट्रांज़िशन फ़ील्ड जोड़ें. (I3d917)
  • स्कैफ़ोल्ड पैरामीटर का क्रम बदलें. (I4dff5)
  • AnimatedPane मॉडिफ़ायर पैरामीटर की डिफ़ॉल्ट वैल्यू दें. (I77dd7)

गड़बड़ियां ठीक की गईं

  • पैनल के मोशन में स्पेस देने वाले आइटम का साइज़ शामिल करें. (a3174ca)

वर्शन 1.0.0-alpha08

6 मार्च, 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha08 रिलीज़ हो गया है. वर्शन 1.0.0-alpha08 में ये कमिट शामिल हैं.

नई सुविधाएं

  • पैनल स्विच करते समय, धीरे-धीरे स्लाइड इन करने की सुविधा लागू करें. (I1a38e)

एपीआई में हुए बदलाव

  • ThreePaneScaffoldState इंटरफ़ेस हटाया गया. (I63f23)

वर्शन 1.0.0-alpha07

21 फ़रवरी, 2024