Wear पर कंपोज़ करने की सुविधा

  
Wear OS डिवाइसों के लिए Jetpack Compose ऐप्लिकेशन लिखें. इसके लिए, अलग-अलग डिवाइस साइज़ और नेविगेशन के लिए इस्तेमाल किए जाने वाले जेस्चर की सुविधा उपलब्ध कराएं.
नया अपडेट स्टेबल रिलीज़ रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा वर्शन
16 जुलाई, 2025 1.4.1 - 1.5.0-beta06 -

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

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

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

ग्रूवी

dependencies {
    implementation "androidx.wear.compose:compose-foundation:1.4.1"

    // For Wear Material Design UX guidelines and specifications
    implementation "androidx.wear.compose:compose-material:1.4.1"

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation "androidx.wear.compose:compose-navigation:1.4.1"

    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.4.1")
    
    // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material.
    // androidx.wear.compose:compose-material is designed as a replacement
    // not an addition to androidx.compose.material:material.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material please raise a bug to let us know.
}

Kotlin

dependencies {
    implementation("androidx.wear.compose:compose-foundation:1.4.1")

    // For Wear Material Design UX guidelines and specifications
    implementation("androidx.wear.compose:compose-material:1.4.1")

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation("androidx.wear.compose:compose-navigation:1.4.1")
    
    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.4.1")

    // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material.
    // androidx.wear.compose:compose-material is designed as a replacement
    // not an addition to androidx.compose.material:material.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material please raise a bug to let us know.
}

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

सुझाव/राय दें या शिकायत करें

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

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

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

Wear Compose का वर्शन 1.5

वर्शन 1.5.0-beta06

16 जुलाई, 2025

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

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

  • LazyColumn या ScalingLazyColumn में reverseLayout = true होने पर, EdgeButton ऐनिमेशन ठीक करें. (I46a1a)
  • ScreenScaffold में मौजूद उस गड़बड़ी को ठीक किया गया है जिसमें ScrollIndicator/PageIndicator उपलब्ध होने पर, TalkBack में छूकर एक्सप्लोर करने की सुविधा काम नहीं कर रही थी. (I6dcee)
  • TransformingLazyColumn अब TransformationSpec से कस्टम मॉर्फ़िंग की अनुमति देता है. इसके लिए, बैकग्राउंड पेंटर में TransformationSpec की ओर से दी गई itemHeight वैल्यू को पढ़ा जाता है. (I6a599)
  • IconButton के लिए, ऐनिमेशन चालू/बंद करने पर रंगों के ट्रांज़िशन की सुविधा चालू/बंद की गई है, ताकि यह IconToggleButton के साथ काम कर सके. (Ife10a)
  • CircularProgressIndicator में सेक्शन क्लैंपिंग की सुविधा हटा दी गई है, ताकि ऐनिमेशन के दौरान डॉट के साइज़ में अचानक बदलाव न हो. इस बदलाव के तहत, drawCircularProgressIndicator में मौजूद targetProgress पैरामीटर का इस्तेमाल अब नहीं किया जाता. (I33309)
  • अब पिकर में सिमैंटिक रोल ValuePicker है. इसका इस्तेमाल स्क्रीन रीडर, पिकर को ज़्यादा ऐक्सेसिबल बनाने के लिए कर सकते हैं. पिकर में, सुलभता के लिए क्लिक लेबल को भी अपडेट किया गया है. इससे, सिर्फ़ पढ़ने के मोड में वैल्यू को अडजस्ट करने और मौजूदा वैल्यू को चुनने के बीच अंतर किया जा सकता है. (I33309)

वर्शन 1.5.0-beta05

2 जुलाई, 2025

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

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

  • दस्तावेज़ को अपडेट किया गया, ताकि Modifier.edgeSwipeToDismiss (I78cb5) के इस्तेमाल के बारे में साफ़ तौर पर बताया जा सके
  • उस गड़बड़ी को ठीक किया गया है जिसमें लेज़ी लिस्ट (I1d4f6) में, SwipeToReveal के साथ कई आइटम दिखाए जा सकते थे
  • TransformingLazyColumn में कंटेनर शेप को अब स्केल किया जाता है, ताकि कॉन्टेंट को काटा न जाए. (I9221a)
  • घंटे/मिनट/सेकंड या साल/महीने/दिन के लिए TimePicker और DatePicker लेबल में अब स्क्रीन रीडर के लिए हेडिंग सिमैंटिक्स (I77d8b) मौजूद हैं
  • अनिश्चित CircularProgressIndicator (Iaf0bb) में लूप के बीच के पॉज़ को हटाया गया
  • आइटम हटाए जाने पर, TransformingLazyColumn में ऐनिमेशन से जुड़ी गड़बड़ी को ठीक किया गया. (I73034)
  • जब आइटम हटाए जाते हैं, तब TransformingLazyColumn में ऐंकर आइटम को सही तरीके से हैंडल किया जाता है. (I841a8)
  • PickerGroup में, ऑटो सेंटरिंग की सुविधा चालू होने पर, चुने गए (सेंटर में मौजूद) पिकर को बदलने पर, पिकर अब हॉरिज़ॉन्टली ऐनिमेशन करता है. (Ic82c4)

वर्शन 1.5.0-beta04

18 जून, 2025

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

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

  • TransformingLazyColumn में लेआउट से जुड़ी गड़बड़ी को ठीक किया गया है. अब स्क्रीन पर दिखने वाला कॉन्टेंट, स्क्रीन के सबसे ऊपर से सही तरीके से अलाइन किया गया है (I80115)
  • TransformingLazyColumn से जुड़ी उस समस्या को ठीक किया गया है जिसमें TransformingLazyColumn वाली सूची के सबसे नीचे स्क्रोल करने पर, सबसे नीचे मौजूद आइटम का साइज़ गलत तरीके से बदल जाता था.EdgeButton लेआउट को वापस लाने पर, स्क्रोल करने की प्रोग्रेस अब ग्रेडिएंट डिसेंट को फ़ॉलो करती है. (Iea375)
  • TransformingLazyColumn अब बैकग्राउंड पेंटर में मौजूद आइटम की ऊंचाई को पढ़ता है. इससे कस्टम TransformationSpecs को मॉर्फ़िंग लागू करने की अनुमति मिलती है. (I022f0)
  • SwipeToReveal अब दिखाई गई कार्रवाइयों को वर्टिकल तौर पर सही तरीके से सेंटर में रखता है. (I4419b)
  • हमने SwipeToReveal में मौजूद एक गड़बड़ी को ठीक किया है. इस गड़बड़ी की वजह से, अगर स्क्रीन पर व्यू और कंपोज़, दोनों का इस्तेमाल किया जा रहा था, तो स्वाइप करके खारिज करने की सुविधा ठीक से काम नहीं कर रही थी. (I5dc0e)
  • स्क्रोल करते समय, SwipeToReveal कार्रवाइयों को वर्टिकल ऑफ़सेट के साथ दिखाने वाली गड़बड़ी को ठीक किया गया है. (I29444)
  • AlertDialog, ConfirmationDialog, OpenOnPhoneDialog, और SwipeToReveal अब स्क्रीन के साइज़ के प्रतिशत के तौर पर कैलकुलेट किए गए पैडिंग और साइज़ को राउंड अप करते हैं. (I76367)
  • ButtonDefaults.outlinedButtonBorder अब चालू/बंद किए गए साइज़(If2ddd) के स्टेटस में हुए बदलावों को अपडेट करता है
  • Pager और ScreenScaffold के साथ जटिल स्क्रीन पर होने वाली EdgeButton की गड़बड़ी को ठीक किया गया. (I946e3)
  • रेस कंडिशन की समस्या को ठीक किया गया है. इसकी वजह से, प्लेसहोल्डर ऐनिमेशन रुक जाते थे. (I53530)
  • कैनवस पर ड्रॉ करके, HorizontalPageIndicator और VerticalPageIndicator की परफ़ॉर्मेंस को बेहतर बनाया गया है. (Ifae1e)
  • EdgeButton के आकार को बेहतर बनाया गया है, ताकि आउटलाइन बनाने वाले एलिप्सिस और सर्कल के बीच ट्रांज़िशन को आसान बनाया जा सके. (I7721e)
  • LevelIndicator में मौजूद उस गड़बड़ी को ठीक किया गया है जिसकी वजह से, गैर-ज़रूरी रीकंपोज़िशन की वजह से ऐनिमेशन रुक जाते थे. (I45d08)

वर्शन 1.5.0-beta03

4 जून, 2025

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

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

  • OpenOnPhoneDialog अब TalkBack में सिर्फ़ मैसेज के टेक्स्ट के बारे में बताता है. साथ ही, आइकॉन के बारे में नहीं बताता. OpenOnPhoneDialogDefaults को अपडेट कर दिया गया है, ताकि icon() से iconContentDescription और contentDescription पैरामीटर को हटाया जा सके. इसके अलावा, ConfirmationDialogDefaults में अब SuccessIcon और FailureIcon कंपोज़ेबल पर मॉडिफ़ायर पैरामीटर हैं. (Id2ae2)

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

  • हमने SurfaceTransformation पैरामीटर के इफ़ेक्ट को लागू करने का क्रम बदल दिया है. पहले, Wear Material3 कॉम्पोनेंट पर ट्रांसफ़ॉर्मेशन इस तरह लागू किए जाते थे: बैकग्राउंड पेंटर, कंटेनर ट्रांसफ़ॉर्मेशन, कॉन्टेंट ट्रांसफ़ॉर्मेशन. अब, पहले दो को उलट दिया गया है. साथ ही, हम उनके बीच में पास किए गए किसी भी मॉडिफ़ायर को लागू करते हैं. इसलिए, यह कंटेनर ट्रांसफ़ॉर्मेशन से प्रभावित होता है. इससे उन मामलों को ठीक किया जाता है जिनमें ट्रांसफ़ॉर्मेशन पैरामीटर का इस्तेमाल करके, टीएलसी में मौजूद एलिमेंट के साथ प्लेसहोल्डर शिमर इफ़ेक्ट का इस्तेमाल किया जाता है. (I786cf)
  • RevealState.Saver को इसलिए जोड़ा गया था, ताकि गतिविधि या प्रोसेस को फिर से बनाने पर, SwipeToReveal की स्थिति को वापस लाया जा सके. rememberRevealState फ़ंक्शन अब डिफ़ॉल्ट रूप से इस सेवर का इस्तेमाल करता है. (Ie0ecb)
  • SwipeToReveal प्राइमरी और सेकंडरी ऐक्शन बटन को डिफ़ॉल्ट रूप से ButtonDefault.Height पर सेट किया जाना चाहिए. (इस बग को ठीक कर दिया गया है. इसमें लंबे बटनों के लिए, ये बटन ज़्यादा से ज़्यादा ऊंचाई तक भर जाते थे). (Ibfba1)
  • दाईं ओर स्वाइप करने का जेस्चर करने पर, इंटरैक्ट किए गए आखिरी कॉम्पोनेंट को रीसेट करने के लिए, SwipeToReveal को बदल दिया गया है. (Ia8450)
  • SwipeToReveal को Revealing स्थिति में बदल दिया गया, जब स्वाइप की आखिरी पोज़िशन, दिखने और दिख चुके ऐंकर के बीच में हो और दिखने वाले ऐंकर के ज़्यादा करीब हो. (If4458)
  • अब ButtonGroup का कॉन्टेंट, आरटीएल लेआउट में सही तरीके से उलटा हो गया है (Ib378d)
  • AnimatedText अब दाएं से बाएं लिखे जाने वाले टेक्स्ट के साथ काम करता है (I4533c)
  • TransformingLazyColumn अब सबसे नीचे मौजूद आइटम (Idacab) को हटाने पर, आइटम का साइज़ सही तरीके से बदलता है
  • TransformingLazyColumn अब सिर्फ़ एक मेज़रिंग पास बनाता है. इससे फ़्रेम टाइम कम हो जाता है और परफ़ॉर्मेंस बेहतर होती है. (I501a1)

वर्शन 1.5.0-beta02

20 मई, 2025

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

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

  • फ़ाउंडेशन, मटीरियल, और मटीरियल3 लाइब्रेरी के लिए, अपडेट की गई बेसलाइन प्रोफ़ाइलें. (I53f06)
  • TransformingLazyColumn में मौजूद एक गड़बड़ी को ठीक किया गया है. इस गड़बड़ी की वजह से, सबसे नीचे मौजूद आइटम को हटाने पर, आइटम का साइज़ बदल जाता था. (Idacab)
  • TransformingLazyColumn से जुड़ी गड़बड़ी को ठीक किया गया है. यह गड़बड़ी तब होती थी, जब सूची सबसे ऊपर या सबसे नीचे रुक जाती थी. (I49d00)
  • TalkBack के OpenOnPhoneDialog में, आइकॉन के कॉन्टेंट के ब्यौरे के बजाय घुमावदार टेक्स्ट के बारे में बताया जाना चाहिए. (I4efe8)
  • SwipeToReveal में मौजूद उस गड़बड़ी को ठीक किया गया है जिसकी वजह से, hasPartiallyRevealedState को 'गलत है' पर सेट करने पर, RevealState.currentValue में गलत ऐंकर रिपोर्ट किया जाता था. (I9c7cf)
  • SwipeToReveal में मौजूद 'बदलाव वापस लाएं' बटन अब डिफ़ॉल्ट रूप से ButtonDefaults.Height पर सेट हैं. (I1f6c8)
  • BasicSwipeToDismissBox परफ़ॉर्मेंस को बेहतर बनाया गया है. इसके लिए, स्क्रिम बनाने के लिए Canvas का इस्तेमाल नहीं किया गया है. (I68f2c)
  • स्लाइडर में सुलभता से जुड़ी एक गड़बड़ी को ठीक किया गया है. इसमें अपडेट के बाद, बोले गए प्रतिशत का मान, वैल्यू से मेल नहीं खाता था (I91146)
  • placeholderShimmer को लागू करने से जुड़ी गड़बड़ी को ठीक किया गया. (Iee39b
  • TransformingLazyColumn की परफ़ॉर्मेंस को बेहतर बनाया गया है. इसके लिए, ScrollProgress के कैलकुलेशन को 30% तक ऑप्टिमाइज़ किया गया है. (I4c4cb)

वर्शन 1.5.0-beta01

7 मई, 2025

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

Compose for Wear OS के 1.5.0-beta01 वर्शन से पता चलता है कि लाइब्रेरी का यह वर्शन पूरी तरह से काम करता है. साथ ही, एपीआई लॉक है. हालांकि, जहां एक्सपेरिमेंट के तौर पर मार्क किया गया है वहां एपीआई लॉक नहीं है.

Wear Compose 1.5.0-beta01 में Wear Compose Material3 लाइब्रेरी शामिल है. यह Material 3 Expressive नाम के नए यूज़र इंटरफ़ेस (यूआई) डिज़ाइन सिस्टम के साथ काम करती है. हमारा सुझाव है कि आप Material से Material3 पर अपग्रेड करें, ताकि ऐप्लिकेशन में नए विज़ुअल डिज़ाइन का इस्तेमाल किया जा सके. साथ ही, नए कॉम्पोनेंट का फ़ायदा पाया जा सके. जैसे:

  • MaterialTheme में अपडेट की गई और बेहतर कलर स्कीम, टाइपोग्राफ़ी, और शेप का इस्तेमाल करके, अपने डिज़ाइन को ज़्यादा आकर्षक और अलग बनाएं.
  • डाइनैमिक कलर थीमिंग की सुविधा, जो आपकी स्मार्टवॉच की होम स्क्रीन के रंगों से मेल खाने वाली कलर स्कीम को आपके ऐप्लिकेशन के लिए अपने-आप जनरेट करती है.
  • नए कॉम्पोनेंट, डिफ़ॉल्ट रूप से बड़ी स्क्रीन के साइज़ के हिसाब से अपने-आप अडजस्ट हो जाते हैं
  • शेप मॉर्फ़िंग - गोल बटन वाले कॉम्पोनेंट, जैसे कि IconButton, TextButton, IconToggleButton, और TextToggleButton में ऐसे बदलाव किए जा सकते हैं जो दबाने या चुनने पर ऐनिमेट होते हैं.
  • EdgeButton - यह स्क्रीन के किनारे पर मौजूद एक नया बटन है. इसे खास तौर पर स्क्रीन के सबसे नीचे के लिए डिज़ाइन किया गया है.
  • स्केफ़ोल्ड - स्क्रीन के स्ट्रक्चर को लेआउट करने के लिए, AppScaffold और ScreenScaffold को पेश किया गया है. साथ ही, ScrollIndicator और TimeText ऐनिमेशन को कोऑर्डिनेट किया गया है.
  • बटन - इसमें स्टेडियम के आकार वाले कई बटन इस्तेमाल किए जा सकते हैं. साथ ही, आइकॉन और लेबल वाले बटन के लिए, सिंगल-स्लॉट कंटेनर और मल्टी-स्लॉट वेरिएशन का इस्तेमाल किया जा सकता है. टॉगल बटन की ज़रूरत होने पर, CheckboxButton और SwitchButton उपलब्ध कराए जाते हैं. वहीं, RadioButton उपलब्ध सिलेक्शन बटन है. टॉगल और सिलेक्शन बटन के ‘स्प्लिट’ वेरिएशन भी उपलब्ध कराए जाते हैं.
  • ButtonGroup - यह एक लाइन में कई बटन दिखाता है. छूने पर, इनकी शेप बदल जाती है.
  • AlertDialog वैरिएशन में, ठीक है/रद्द करें बटन या EdgeButton का इस्तेमाल किया जा सकता है.
  • ConfirmationDialog का इस्तेमाल, टाइम आउट के साथ मैसेज दिखाने के लिए किया जा सकता है. यह सुविधा, लिंक हो जाने, लिंक न हो पाने, और फ़ोन पर खुलने वाले अलग-अलग वर्शन के लिए खास ऐनिमेशन के साथ काम करती है.
  • पिकर - TimePicker और DatePicker के साथ-साथ, पिकर और PickerGroup कॉम्पोनेंट भी काम करते हैं. इनकी मदद से, पिकर स्क्रीन बनाई जा सकती हैं.
  • ProgressIndicators - इसमें सर्कुलर और लीनियर प्रोग्रेस इंडिकेटर इस्तेमाल किए जा सकते हैं. CircularProgressIndicator में सेगमेंट किए गए और अनिश्चितता वाले वैरिएशन होते हैं.
  • कार्ड - कार्ड के कई वर्शन उपलब्ध हैं. इनमें TitleCard भी शामिल है. यह टाइटल, समय, सबटाइटल या कॉन्टेंट स्लॉट वाले कार्ड के लिए खास लेआउट उपलब्ध कराता है. TitleCard को इमेज बैकग्राउंड भी दिया जा सकता है, ताकि कार्ड में मौजूद जानकारी के मतलब को और बेहतर तरीके से समझाया जा सके.
  • पेजर - HorizontalPagerScaffold, VerticalPagerScaffold, और AnimatedPage कॉम्पोनेंट, HorizontalPageIndicator और VerticalPagerIndicator ऐनिमेशन को मैनेज करते हैं. HorizontalPager और VerticalPager को Wear Compose Foundation लाइब्रेरी में रिलीज़ किया गया है.
  • प्लेसहोल्डर - यह कॉम्पोनेंट के ऊपर एक स्केलेटन शेप बनाता है. ऐसा तब होता है, जब कोई अस्थायी कॉन्टेंट उपलब्ध नहीं होता.
  • स्लाइडर और स्टेपर - स्लाइडर और स्टेपर, दोनों की मदद से उपयोगकर्ता वैल्यू की किसी रेंज में से कोई वैल्यू चुन सकते हैं. स्लाइडर ज़्यादा कॉम्पैक्ट होते हैं और उन्हें सेगमेंट में बांटा जा सकता है. वहीं, स्टेपर एक फ़ुल स्क्रीन कॉम्पोनेंट होता है, जिसे आम तौर पर StepperLevelIndicator के साथ जोड़ा जाता है.
  • SwipeToReveal - इसका इस्तेमाल, किसी कंपोज़ेबल में अतिरिक्त कार्रवाइयां जोड़ने के लिए किया जाता है. ऐसा तब किया जाता है, जब उसे दाईं से बाईं ओर स्वाइप किया जाता है.

इसके अलावा, Wear Compose Foundation 1.5.0-beta01 में ये नए कॉम्पोनेंट शामिल हैं:

  • TransformingLazyColumn - यह एक लेज़ी वर्टिकल स्क्रोलिंग सूची है. इसमें स्केलिंग और मॉर्फ़िंग एनिमेशन काम करते हैं
  • हायरार्किकल फ़ोकस ग्रुप - इनका इस्तेमाल किसी ऐप्लिकेशन में कंपोज़ेबल को एनोटेट करने के लिए किया जाता है. इससे कंपोज़िशन के चालू हिस्से को ट्रैक किया जा सकता है और फ़ोकस को मैनेज किया जा सकता है.
  • पेजर - HorizontalPager और VerticalPager कॉम्पोनेंट, Compose Foundation कॉम्पोनेंट पर बनाए गए हैं. इनमें Wear के हिसाब से कुछ सुधार किए गए हैं, ताकि परफ़ॉर्मेंस को बेहतर बनाया जा सके और Wear OS के दिशा-निर्देशों का पालन किया जा सके.

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

  • हायरार्किकल फ़ोकस एपीआई को अपडेट किया गया है - Modifier.hierarchicalFocus का नाम बदलकर Modifier.hierarchicalFocusGroup कर दिया गया है और कॉलबैक पैरामीटर हटा दिया गया है; FocusRequester पैरामीटर के साथ Modifier.hierarchicalFocusRequester का ओवरलोड हटा दिया गया है; नया CompositionLocal, LocalScreenIsActive बनाया गया है, ताकि कॉम्पोनेंट यह सूचना दे सकें और यह जांच कर सकें कि कौनसी स्क्रीन चालू है. (I5ff7c).
  • Wear Compose Material और Wear Compose Material3 में SwipeToReveal एपीआई के पक्ष में, Wear Compose Foundation से SwipeToReveal को बंद कर दिया गया है. एपीआई का इस्तेमाल जारी रखने के लिए, कृपया Wear Foundation SwipeToReveal इंपोर्ट को Wear Compose Material/ Wear Compose Material3 इंपोर्ट से बदलें. (Ia147d).
  • Wear Compose Material3 SwipeToReveal की Foundation पर मौजूद डिपेंडेंसी को material3 पैकेज में ले जाया गया है. जैसे, RevealValue, RevealDirection, RevealActionType, RevealState, rememberRevealState. डेवलपर को इन क्लास और फ़ंक्शन के इंपोर्ट को androidx.wear.compose.foundation से androidx.wear.compose.material3 में बदलना होगा. (I640e6).
  • Wear Compose Material3 SwipeToReveal एपीआई को इन बदलावों के साथ अपडेट किया गया है: SwipeToReveal कंपोज़ेबल में primaryAction, onFullSwipe, secondaryAction, undoPrimaryAction, undoSecondaryAction, और hasPartiallyRevealedState पैरामीटर जोड़े गए; RevealState से positionalThreshold और animationSpec को पसंद के मुताबिक बनाने की सुविधा हटा दी गई; RevealState से lastActionType, revealThreshold, और चौड़ाई हटा दी गई; RevealState कंस्ट्रक्टर को ऐंकर के बजाय RevealDirection स्वीकार करने के लिए बदल दिया गया; createRevealAnchors, ऐंकर, और bidirectionalAnchors फ़ंक्शन हटा दिए गए; SwipeToRevealScope फ़ंक्शन primaryAction, secondaryAction, undoPrimaryAction, और undoSecondaryAction का नाम बदलकर PrimaryActionButton, SecondaryActionButton, UndoActionButton कर दिया गया और इन्हें कंपोज़ेबल फ़ंक्शन बना दिया गया; RevealActionType को इंटरनल के तौर पर मार्क किया गया. (I885d0).
  • SwipeToReveal एपीआई को इस तरह अपडेट किया गया है: onFullSwipe का नाम बदलकर onSwipePrimaryAction कर दिया गया है; SwipeToRevealNonAnchoredSample का नाम बदलकर, hasPartiallyRevealedState पैरामीटर के इस्तेमाल के बारे में बताया गया है; actionButtonHeight को हटा दिया गया है, क्योंकि डिफ़ॉल्ट रूप से बटन की ऊंचाई डिफ़ॉल्ट होती है और मॉडिफ़ायर का इस्तेमाल करके ऊंचाई को ज़्यादा पर सेट किया जा सकता है; SwipeToRevealDefaults से SmallActionButtonHeight को हटा दिया गया है; RevealValue और RevealDirection कंस्ट्रक्टर में वैल्यू पैरामीटर को निजी बना दिया गया है. (I465ce).

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

  • ScreenScaffold के EdgeButton को हैंडल करने की सुविधा को ठीक किया गया है, ताकि TransformingLazyColumn आइटम को हटाने के बाद, EdgeButton को ऐनिमेशन के साथ अपनी जगह पर रखा जा सके. (I6d366).
  • Wear Compose की डिपेंडेंसी को Compose लाइब्रेरी के 1.8.0 वर्शन पर अपडेट किया गया है. (I2ef3f).
  • अनिश्चित CircularProgressIndicator की गति को अपडेट किया गया है, ताकि यह अब कुछ समय के लिए पीछे न जाए. (Ieddb1).
  • SwipeDismissableNavHost बग ठीक किया गया - वापस स्वाइप करने के बाद फ़ोकस सही तरीके से स्विच नहीं हो रहा था. इस वजह से, रोटरी इनपुट काम नहीं कर रहा था. यह समस्या, एपीआई 36 और इससे ऊपर के वर्शन में आ रही थी. इनमें अनुमान लगाने वाली सुविधा का इस्तेमाल किया जाता है. (Ieddb1).
  • हायरार्किकल फ़ोकस एपीआई (Idf2ff) के लिए, दस्तावेज़ में बदलाव किया गया है.
  • बटन और कार्ड के दस्तावेज़ को अपडेट किया गया है, ताकि यह बताया जा सके कि containerPainter और disabledContainerPainter, containerColor और disabledContainerColor को कैसे बदलता है (I4a453).
  • पिछली रिलीज़ में TimeText में किए गए बदलाव को पहले जैसा कर दिया गया है. इस बदलाव में, BroadcastReceiver को वर्कर थ्रेड में ले जाया गया था. ऐसा इसलिए किया गया, क्योंकि इससे उन ऐप्लिकेशन को समस्याएं आ रही थीं जो नेविगेशन के दौरान अपनी थ्रेडिंग को मैनेज करते हैं. (I34d02).
  • Picker के सैंपल अपडेट किए गए हैं, ताकि याद रखने के लिए किए जाने वाले गैर-ज़रूरी कॉल हटाए जा सकें. इसके बजाय, Picker में rememberUpdatedState का इस्तेमाल किया जा सके, ताकि contentDescription lambda फ़ंक्शन को याद रखा जा सके. (Icb5b1).
  • TimePicker और DatePicker में टेक्स्ट स्टाइल अपडेट की गई हैं, ताकि फ़ॉन्ट बदलने पर टेक्स्ट अब छोटा न हो. (I26194).
  • ListHeader और ListSubHeader में अब टेक्स्ट को डिफ़ॉल्ट रूप से, बीच में और बाईं ओर अलाइन किया जाता है. (I78339).
  • हमने Foundation और Material Swipe to Reveal के सैंपल और डेमो को अपडेट किया है. इससे कस्टम ऐक्सेसिबिलिटी कार्रवाइयों के बारे में सूचना दी जा सकेगी. कस्टम कार्रवाइयों को कॉन्टेंट पर सिमैंटिक के तौर पर जोड़ा जाना चाहिए, न कि SwipeToReveal कंपोज़ेबल पर. (Ie92a3).
  • कॉन्टेंट के साइज़ के हिसाब से, EdgeButton कॉन्टेंट पर सेट किए गए डिफ़ॉल्ट MaxLines को अपडेट किया गया है. अब यह बहुत छोटे साइज़ के लिए 1, छोटे और मीडियम साइज़ के लिए 2, और बड़े साइज़ के लिए 3 है. (Ie35f6).
  • LocalReduceMotion को आसान बनाया गया है, ताकि परफ़ॉर्मेंस को बेहतर बनाने के लिए, ऑब्ज़र्वर को सिर्फ़ एक बार रजिस्टर किया जाए. (Ib1979).
  • परफ़ॉर्मेंस को बेहतर बनाने के लिए, ScrollIndicator में फिर से रेंडर होने की संख्या कम की गई. (Ia7a67).
  • TransformingLazyColumn में मौजूद उस गड़बड़ी को ठीक किया गया है जिसमें EdgeButton की पूरी ऊंचाई होने पर, सूची में सबसे ऊपर दिखने वाला आइटम सही तरीके से स्केल नहीं होता था. (I30580).

वर्शन 1.5.0-alpha14

23 अप्रैल, 2025

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

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

  • Material SwipeToReveal की सभी डिपेंडेंसी को Foundation SwipeToReveal से Material पैकेज में ले जाया गया है. उदाहरण के लिए, RevealValue, RevealDirection, RevealActionType, RevealState, rememberRevealState. डेवलपर को इन क्लास और फ़ंक्शन के इंपोर्ट को androidx.wear.compose.foundation से androidx.wear.compose.material में बदलना होगा. (Ib7cb8)
  • HierarchicalFocusCoordinator के एपीआई को अपडेट किया गया है. अब यह कंपोज़ेबल के बजाय मॉडिफ़ायर होगा.
  • माइग्रेशन से जुड़ी ज़रूरी जानकारी:
    • HierarchicalFocusCoordinator(function, content) को content या कंपोज़ेबल में Modifier.hierarchicalFocus(function()) जोड़कर बदला जा सकता है.
    • ActiveFocusListener { if (it) focusRequester.requestFocus() } को Modifier.hierarchicalFocusRequester(focusRequester) जोड़कर बदला जा सकता है
    • ActiveFocusListener के अन्य कम इस्तेमाल किए जाने वाले मामलों में, Modifier.hierarchicalFocus पर नए पैरामीटर का इस्तेमाल किया जा सकता है
    • focusRequester(rememberActiveFocusRequester()) की जगह hierarchicalFocusRequester() का इस्तेमाल किया जा सकता है
    • val focusRequester = rememberActiveFocusRequester() को remember { FocusRequester() } और Modifier.hierarchicalFocusRequester(focusRequester) जोड़कर बदला जा सकता है. (Ie319a)

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

  • स्टेट में बदलाव को ट्रिगर करने के लिए, स्वाइप जेस्चर को वेलोसिटी थ्रेशोल्ड से ज़्यादा होना चाहिए. इस थ्रेशोल्ड को इन कॉम्पोनेंट के लिए बढ़ा दिया गया है: SwipeToReveal, BasicSwipeToDismissBox, और SwipeDismissableNavHost (SwipeDismissableNavHost के लिए, सिर्फ़ API 35 और इससे पहले के वर्शन के लिए). (If47bf)
  • TransformingLazyColumn में नए आइटम जोड़े जाने पर, ऐनिमेशन से जुड़ी समस्या को ठीक किया गया है. (I589b2)

वर्शन 1.5.0-alpha13

9 अप्रैल, 2025

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

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

  • Kotlin 2.0 के साथ रिलीज़ किए गए प्रोजेक्ट के लिए, KGP 2.0.0 या इसके बाद का वर्शन इस्तेमाल करना ज़रूरी है (Idb6b5)
  • PagerState (I4de8b) में targetPage प्रॉपर्टी जोड़ी गई

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

  • अनुमानित बैक नेविगेशन के दौरान, बेवजह के रीकंपोज़िशन को रोकता है. (Iecd6d)
  • ScrollInfoProvider की isScrollable प्रॉपर्टी को ठीक किया गया है, ताकि मौजूदा वैल्यू दिखाई जा सके. (Icbfb8)

वर्शन 1.5.0-alpha12

26 मार्च, 2025

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

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

  • gestureInclusion के डिफ़ॉल्ट तरीके को बेहतर बनाया गया है, ताकि सिर्फ़ तब जेस्चर को अनदेखा किया जा सके, जब कॉम्पोनेंट की स्थिति Covered हो.SwipeToReveal (I7e3d6)
  • SwipeToReveal के लिए, bidirectionalGestureInclusion को फ़ंक्शन के बजाय वैल्यू बनाया गया है. साथ ही, gestureInclusion में edgeZoneFraction पैरामीटर में @FloatRange जोड़ा गया है. (Ica7c3)

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

  • क्लास के बजाय ऑब्जेक्ट दिखाने के लिए, SwipeToReveal bidirectionalGestureInclusion को बदलें. (I29597)
  • RoboElectric में टेस्ट चलाते समय, हैप्टिक का इस्तेमाल बंद कर दिया गया है. (I58bd1)
  • कॉन्टेंट और ऐक्शन बटन के बीच की SwipeToReveal पैडिंग को अपडेट किया गया है. साथ ही, ऐक्शन बटन के आइकॉन और टेक्स्ट के बीच की पैडिंग को भी अपडेट किया गया है. (Ic46cb)

वर्शन 1.5.0-alpha11

12 मार्च, 2025

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

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

  • PagerState को अपडेट किया गया है. इसमें Compose Foundation PagerState को बेस क्लास के तौर पर हटाया गया है. साथ ही, currentPage, currentPageOffsetFraction, और pageCount प्रॉपर्टी जोड़ी गई हैं. GestureInclusion इंटरफ़ेस को अपडेट किया गया है. साथ ही, इस तरीके का नाम बदलकर ignoreGestureStart कर दिया गया है. (I4ae07)
  • SwipeToDismissBoxState के ऑफ़सेट को पाने के लिए, requireOffset को SwipeToDismissBoxState में जोड़ें. (I21042)
  • CurvedModifier.semantics जोड़ा गया. यह सुविधा, शुरू में कॉन्टेंट की जानकारी और ट्रैवर्सल इंडेक्स (I0b093) के साथ काम करती है
  • हमने CurvedModifier.clearAndSetSemantics जोड़ा है, ताकि घुमावदार शब्दों को बंद किया जा सके. CurvedText अब भी कॉन्टेंट के ब्यौरे को डिफ़ॉल्ट रूप से टेक्स्ट पर सेट करता है. हालांकि, timeTextCurvedText और timeTextSeparator अब अपने कॉन्टेंट के बारे में नहीं बताते हैं. (I4b568)
  • HorizontalPager में स्वाइप जेस्चर को हैंडल करने के डिफ़ॉल्ट तरीके का नाम बदलकर PagerDefaults.gestureInclusion कर दिया गया है. डिफ़ॉल्ट रूप से, अब सिर्फ़ उन स्वाइप जेस्चर को अनदेखा किया जाएगा जो पहले पेज के बाईं ओर से शुरू होते हैं. ऐसा सिर्फ़ तब होगा, जब TalkBack बंद हो. अन्य मामलों में, डिफ़ॉल्ट रूप से स्वाइप जेस्चर को पेजर अनदेखा नहीं करेगा. इसलिए, वे स्वाइप करके खारिज करने की सुविधा के हैंडलर के लिए उपलब्ध नहीं होंगे. (Iee486)
  • rotaryScrollable एपीआई के लिए, रोटरी ओवरस्क्रॉल की सुविधा जोड़ी गई. rotaryScrollable फ़्लिंग के व्यवहार में ओवरस्क्रोल और नेस्टेड स्क्रोल की सुविधा जोड़ी गई. इस बदलाव के बाद, टच स्क्रोल और रोटरी स्क्रोल की सुविधा में ओवरस्क्रोल और नेस्टेड स्क्रोल की सुविधा एक जैसी हो जाएगी. (I71926)
  • SwipeToReveal में, किनारे से स्वाइप करने के लिए ज़ोन की सुविधा जोड़ी गई. Foundation SwipeToReveal में अब डिफ़ॉल्ट रूप से, किनारे से शुरू होने वाले जेस्चर के लिए स्वाइप करने की अनुमति नहीं दी जाती है. Material3 SwipeToReveal का डिफ़ॉल्ट व्यवहार अब यह है कि जब जेस्चर किनारे से शुरू होता है, तो स्वाइप करने की अनुमति नहीं दी जाती है. ऐसा तब होता है, जब SwipeDirection को एक ही दिशा में सेट किया जाता है. (I32ef0)
  • TLC अब पहले और आखिरी आइटम को बीच में रखने के बजाय, डिफ़ॉल्ट रूप से खाली contentPadding का इस्तेमाल करता है. (I77ab7)

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

  • Wear Compose लाइब्रेरी को Kotlin 2.0 कंपाइलर पर अपडेट किया गया है. (I2de79)
  • फ़ाउंडेशन पर घुमावदार LetterSpacing सैंपल को ठीक किया गया. (Iebf7c)

वर्शन 1.5.0-alpha10

26 फ़रवरी, 2025

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

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

  • SwipeToRevealDefaults को सार्वजनिक करें. (I0c34c)
  • हमने HorizontalPager में swipeToDismissEdgeZoneFraction पैरामीटर को बदल दिया है. इसके बजाय, एक नया पैरामीटर gestureInclusion पेश किया गया है. इसका इस्तेमाल, स्वाइप करके खारिज करने की सुविधा को लागू करने के लिए किया जा सकता है. gestureInclusion, GestureInclusion का एक इंस्टेंस लेता है. इससे यह तय होता है कि स्क्रोल करने से जुड़ा अगला इवेंट होना चाहिए या नहीं. किसी जेस्चर को अनुमति देने का मतलब है कि Pager उसका इस्तेमाल करता है. ऐसा न होने पर, इसे किसी दूसरी जगह पर हैंडल किया जाएगा. जैसे, स्वाइप करके खारिज करने वाले हैंडलर के ज़रिए. डिफ़ॉल्ट तौर पर, Pager में पहले पेज के सबसे बाईं ओर के किनारे पर जेस्चर इस्तेमाल करने की अनुमति नहीं दी जाती है. इसलिए, इस जगह पर स्वाइप करके खारिज करने की अनुमति दी जाती है. अन्य सभी पेजों पर, Pager को सभी जेस्चर इस्तेमाल करने की अनुमति होगी. इसका मतलब है कि उन्हें स्वाइप करके खारिज नहीं किया जा सकता. सभी पेजों पर स्वाइप करके खारिज करने की सुविधा पाने के लिए, बस एक कस्टम GestureInclusion इंस्टेंस (PagerDefaults.disableLeftEdgeOnFirstPage देखें) उपलब्ध कराएं, जो मौजूदा पेज को अनदेखा करता हो. यहां एक और बड़ा बदलाव किया गया है. अब Pager कॉम्पोनेंट डिफ़ॉल्ट रूप से फ़ुल स्क्रीन पर नहीं दिखता. इसके बजाय, इस तरह का व्यवहार पाने के लिए Modifier.fillMaxSize() जोड़ें. (I9d3aa)
  • हमने स्वाइप करके विज्ञापन दिखाने वाले एपीआई(If5999) में, createAnchors का नाम बदलकर createRevealAnchors कर दिया है
  • हमने स्वाइप करके जानकारी ज़ाहिर करने वाले एपीआई से RevealScope को हटा दिया है. (Ie4ad5)
  • हमने स्वाइप करके जानकारी ज़ाहिर करने वाले एपीआई में, RevealValue से Revealing और Revealed को हटा दिया है. (I8dbc5)
  • हमने स्वाइप करके जानकारी दिखाने वाले एपीआई में, SwipeDirection का नाम बदलकर RevealDirection कर दिया है. (I7472f)
  • हमने SwipeToReveal के rememberRevealState फ़ंक्शन के positionalThreshold पैरामीटर के सिग्नेचर में बदलाव किया है. (I29c0a)
  • हमने ScalingLazyColumn, TransformingLazyColumn, और ScreenScaffold में एक नया overscrollEffect पैरामीटर जोड़ा है. (I0cee8)
  • PagerDefaults#snapFlingBehaviour का इस्तेमाल करते समय, pagerSnapDistance पैरामीटर को Int पैरामीटर maxFlingPages से बदल दिया गया है. इसका इस्तेमाल, पेजर को फ़्लिंग करने के लिए पेजों की ज़्यादा से ज़्यादा संख्या तय करने के लिए किया जा सकता है. (I8cfc0)
  • Wear Pager अब Compose Foundation PagerScope का इस्तेमाल करने के बजाय, अपने PagerScope का इस्तेमाल करता है. (I9195b)
  • हमने घुमावदार टेक्स्ट (I1c936) पर lineHeight के इस्तेमाल की सुविधा जोड़ी है
  • हमने TransformingLazyColumnState में initialAnchorItemIndex और initialAnchorItemOffset को जोड़ा है. साथ ही, rememberTransformingLazyColumnState को जोड़ा है, ताकि TransformationLazyColumn में शुरुआती स्क्रोल पोज़िशन तय की जा सके. (I0a0d5)
  • runWithTimingDisabled को बंद करें और runWithMeasurementDisabled का इस्तेमाल करें. इससे यह पता चलता है कि सभी मेट्रिक को रोक दिया गया है. इसके अलावा, MicrobenchmarkScope सुपरक्लास को दिखाएं, क्योंकि runWithMeasurementDisabled फ़ंक्शन को फिर से एलान करके ऐक्सेस नहीं किया जा सकता. ऐसा इसलिए, क्योंकि यह इनलाइन है. (I9e23b, b/389149423, b/149979716)
  • हमने एपीआई में TransformingLazyColumnItemScrollProgress.Unspecified को जोड़ा है, ताकि TransformingLazyColumnItemScrollProgress पर बॉक्सिंग से बचा जा सके. (I0835d)

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

  • CurvedTextStyle (Id45e3) के लिए Kdoc को बेहतर बनाएं
  • हमने SwipeableV2 को सार्वजनिक के बजाय, आंतरिक तौर पर उपलब्ध कराया है. यह SwipeToReveal को लागू करने का हिस्सा है. हालांकि, इसे सिर्फ़ लाइब्रेरी ग्रुप के लिए उपलब्ध कराया गया है. (Idbb94)
  • हमने HierarchicalFocusCoordinator (I1ce54, b/395548918) में टेस्ट जोड़े हैं
  • हमने Wear Compose के फ़ाउंडेशन सैंपल में SwipeToReveal से जुड़े सुधार किए हैं. (I5f307)
  • सुलझाया गया: सुलभता के लिए, TransformingLazyColumn में verticalScrollAxisRange के स्क्रोल ऐक्सिस के सिमैंटिक डेटा से जुड़ी समस्या (I68123)
  • Wear4+ पर रोटरी हैप्टिक की परफ़ॉर्मेंस को बेहतर बनाने के लिए, बैकग्राउंड में चल रही ग़ैर-ज़रूरी थ्रेड (I39cfe) को हटाया गया
  • एपीआई 36 और इसके बाद के वर्शन पर, सिर्फ़ PredictiveBackNavHost का इस्तेमाल करने के लिए SwipeDismissableNavHost को बदलें. (I59bed)
  • हमने 'मोशन कम करें' सेटिंग को ऐक्सेस करते समय क्रैश होने से बचाने के लिए, एक सुरक्षा सुविधा जोड़ी है. (I01e2c)
  • हमने TransformingLazyColumn के लिए प्रीफ़ेचिंग लागू की है, ताकि जंक को कम किया जा सके (Icca88)

वर्शन 1.5.0-alpha09

29 जनवरी, 2025

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

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

  • CurvedTextStyle पर, हमने अक्षरों के बीच की दूरी को दो हिस्सों में बांटा है: घड़ी की दिशा में अक्षरों के बीच की दूरी और घड़ी की उल्टी दिशा में अक्षरों के बीच की दूरी. ऐसा इसलिए ज़रूरी है, क्योंकि घड़ी की सुई की दिशा में लिखे गए अक्षर, बेसलाइन से बाहर की ओर फैलते हैं. वहीं, घड़ी की सुई की उलटी दिशा में लिखे गए अक्षर, अंदर की ओर फैलते हैं. इसलिए, अक्षरों के बीच ज़्यादा दूरी की ज़रूरत होती है (I4b848)
  • CompositionLocal LocalReduceMotion को आसान बना दिया गया है, ताकि यह ReduceMotion ऑब्जेक्ट के बजाय बूलियन वैल्यू दिखा सके. ReduceMotion इंटरफ़ेस अब काम नहीं करता. LocalReduceMotion.current.enabled() जैसे पिछले इनवोकेशन को LocalReduceMotion.current (I4937f) से बदला जा सकता है
  • PagerDefaults में, snapAnimationSpec का नाम बदलकर SnapAnimationSpec कर दिया गया है. (I20c9a)

वर्शन 1.5.0-alpha08

15 जनवरी, 2025

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

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

  • हमने Wear Compose की सभी लाइब्रेरी को ‘एक्सप्लिसिट एपीआई’ मोड में अपडेट कर दिया है. (Iebf9f)
  • हमने पेजर के स्नैप ऐनिमेशन पैरामीटर को PagerDefaults का हिस्सा बना दिया है. (Ifff64)
  • हमने SwipeToDismissBoxState में एक ऑफ़सेट पैरामीटर जोड़ा है. (I586bd)

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

  • रोटरी प्लैटफ़ॉर्म हैप्टिक को अब Wear OS के V (Idb03e) के बाद वाले वर्शन के लिए कॉल किया जाता है

वर्शन 1.5.0-alpha07

11 दिसंबर, 2024

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

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

  • TransformingLazyColumnState अब ऐंकर आइटम इंडेक्स के आधार पर, स्क्रोल करने की मौजूदा प्रोग्रेस को देखने का तरीका उपलब्ध कराता है. (I72b01)
  • हमने TransformingLazyColumn में ऐनिमेशन जोड़े हैं. ये ऐनिमेशन, आइटम जोड़ने, हटाने, और उन्हें एक जगह से दूसरी जगह ले जाने पर दिखते हैं. हालांकि, ऐसा तब होता है, जब आइटम में नया Modifier.animateItem मौजूद हो. (Iecb9c)
  • TransformingLazyColumn अब beforeContentPadding और afterContentPadding के लिए वैल्यू दिखाता है. (Iccd5f)
  • TransformingLazyColumn अब कंपोज़िशन लोकल LocalTransformingLazyColumnItemScope उपलब्ध कराता है. इसका इस्तेमाल TransformingLazyColumn में रखे जाने पर, Card और Material3 में मौजूद Button जैसे कॉम्पोनेंट अपने-आप बदल सकते हैं. कॉल करने वाले लोग, नए TransformExclusion रैपर का इस्तेमाल करके, आवाज़ के अपने-आप बदलने की सुविधा बंद कर सकते हैं. (I1652f)

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

  • हमने U और इसके बाद के वर्शन को टारगेट करने वाले डिवाइसों पर, रोटरी के लिए कम से कम और ज़्यादा से ज़्यादा फ़्लिंग वेलोसिटी को अपडेट किया है. (I33559)
  • हमने उस क्रैश को ठीक कर दिया है जो तब होता था, जब TransformingLazyColumn में मौजूद किसी आइटम में कोई कंपोज़ेबल (Idb99d) नहीं होता था
  • हमने Android Vanilla ice cream पर रोटरी हैप्टिक्स के लिए ScrollFeedbackProvider सहायता जोड़ी है. (Ibc553)
  • हमने SwipeToReveal का इस्तेमाल करते समय, टच स्लोप को बढ़ा दिया है. इससे वर्टिकल स्क्रोलिंग के दौरान, गलती से स्वाइप ट्रिगर होने की संभावना कम हो जाती है. (Ic0672)
  • हमने SwipeDismissableNavHost को अपडेट कर दिया है, ताकि एपीआई लेवल 35 और इसके बाद के वर्शन के साथ PredictiveBackHandler का इस्तेमाल किया जा सके. ऐसे में, नए ऐनिमेशन लागू किए जाएंगे. (I08c11)

वर्शन 1.5.0-alpha06

13 नवंबर, 2024

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

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

  • हमने PagerState के लिए ScrollInfoProvider को आसान बना दिया है. इसके लिए, हमने orientation पैरामीटर को हटा दिया है, जिसकी अब ज़रूरत नहीं है. नई सुविधा के तहत, हॉरिज़ॉन्टल और वर्टिकल, दोनों तरह के पेजिंग के लिए TimeText को एक ही जगह पर रखा जाएगा. (I71767)
  • TransformingLazyColumn को पिछली रिलीज़ में पेश किया गया था. अब हम Wear के LazyColumn एलियास (जो TransformingLazyColumn पर फ़ॉरवर्ड हो रहे थे) को हटा रहे हैं. ऐसा नए नाम TransformingLazyColumn के लिए किया जा रहा है. हमने TransformingLazyColumnVisibleItemInfo की height प्रॉपर्टी को भी हटा दिया है. कृपया इसके बजाय, measuredHeight का इस्तेमाल करें. (I0ea1e)
  • हमने PagerDefaults.snapFlingBehavior snapAnimationSpec को Tween से बदलकर Spring कर दिया है.(I10d02, b/349781047, b/303807950)
  • हमने LocalReduceMotion CompositionLocal को स्टेबल (Ia6f32) वर्शन में प्रमोट कर दिया है

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

  • हमने Modifier.rotaryScrollable को अपडेट किया है, ताकि रोटरी में बेहतर सिमैंटिक सपोर्ट के लिए focusTargetWithSemantics का इस्तेमाल किया जा सके. (Ief0a0)
  • हमने Compose लाइब्रेरी के लिए, एपीआई डिपेंडेंसी को 1.7.4 पर अपडेट कर दिया है. (I88b46)
  • हमने क्लिपिंग से जुड़ी गड़बड़ी को ठीक करने के लिए, TransformingLazyColumn में चौड़ाई बदलने की सुविधा बंद कर दी है. (I3dfb8)
  • हमने एक गड़बड़ी ठीक की है. इसकी वजह से, TransformingLazyColumn (Id7668) का इस्तेमाल करके ओवरस्क्रोल करने पर आइटम गायब हो जाते थे
  • हमने TransformingLazyColumn के लिए LazyLayoutSemantics जोड़ा है. (Ia8f56)

वर्शन 1.5.0-alpha05

30 अक्टूबर, 2024

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

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

  • हमने TransformingLazyColumnState पर animateScrollTo के लिए सहायता जोड़ी है, ताकि किसी आइटम पर स्क्रोल करने पर ऐनिमेशन दिखाया जा सके. (I4097d)
  • हमने TransformingLazyColumnState पर requestScrollTo जोड़ा है, ताकि अगली मेज़रमेंट तक स्क्रोलिंग को टाला जा सके. (I20a5e)
  • हमने TransformingLazyColumn में, contentPadding के काम करने की सुविधा जोड़ी है. (I3a69c)

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

  • हमने TransformingLazyColumn को रेंडर करने से जुड़े एक बग को ठीक कर दिया है. यह बग तब दिखता था, जब कॉन्टेंट की ऊंचाई स्क्रीन की ऊंचाई से कम होती थी. (I6c3e1)
  • TransformingLazyColumn के लिए ScrollInfoProvder अब पहले आइटम को सही तरीके से ट्रैक करता है. (I1e4a3)
  • TransformingLazyColumnState अब अपनी स्थिति (anchorItemIndex और anchorItemScrollOffset) सेव करता है. (I3d265)

वर्शन 1.5.0-alpha04

16 अक्टूबर, 2024

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

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

  • हमने Wear Compose Foundation LazyColumn का नाम बदलकर TransformingLazyColumn कर दिया है, ताकि इस और Compose Foundation LazyColumn के बीच का अंतर साफ़ तौर पर पता चल सके. (I0608b)
  • हॉरिजॉन्टल/वर्टिकल पेजर्स के लिए रोटरी कंट्रोल की सुविधा जोड़ी गई है. इससे उपयोगकर्ता, रोटरी इनपुट डिवाइसों का इस्तेमाल करके पेजर्स पर नेविगेट कर सकते हैं. (I9770d)
  • हमने नए PagerDefaults को अपडेट किया है, ताकि यह साफ़ तौर पर बताया जा सके कि डिफ़ॉल्ट रूप से पेजर, पेज पर स्नैप-टू-पेज होगा. (Iff7d0)
  • TransformingLazyColumnItemScrollProgress अब वैल्यू क्लास है. इससे परफ़ॉर्मेंस बेहतर होनी चाहिए. (Ic399e)
  • TransformingLazyColumn अब रोटरी कंट्रोल के साथ काम करता है. (I05206)
  • TransformingLazyColumnState अब scrollToItem के साथ काम करता है. (I507b3)
  • SwipeToReveal API से @ExperimentalWearFoundationApi हटाया गया (I34a66)

वर्शन 1.5.0-alpha03

2 अक्टूबर, 2024

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

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

  • हमने SwipeToReveal में दोनों दिशाओं में स्वाइप करने की सुविधा जोड़ी है. ऐसा उन मामलों में किया गया है जहां मौजूदा स्क्रीन पर स्वाइप करके खारिज करने की सुविधा काम नहीं करती. . डिफ़ॉल्ट रूप से, अब भी सिर्फ़ दाईं से बाईं ओर स्वाइप करने पर सूचना दिखती है. हमारा सुझाव है कि आप डिफ़ॉल्ट सेटिंग का इस्तेमाल करें, ताकि सूचना को खारिज करने के लिए स्वाइप करने में कोई समस्या न हो. (Ifac04)
  • हमने LazyColumnState को अपडेट किया है, ताकि canScrollForward और canScrollBackward को बदला जा सके. अब पहले या आखिरी आइटम के स्क्रीन के ठीक बीच में होने पर, स्क्रोलिंग रुक जाती है. (Ia77d7)
  • हमने HorizontalPager और VerticalPager नए कॉम्पोनेंट जोड़े हैं. इनसे Wear OS डिवाइसों पर होने वाली सामान्य समस्याओं को हल किया जा सकता है. जैसे, फ़ोकस हैंडलिंग और सिस्टम स्वाइप करके खारिज करने की सुविधा के साथ इंटरैक्ट करना. (I2902b)
  • हमने layoutItems के ज़रिए क्लाइंट के key और contentType को दिखाने के लिए, LazyColumn का इस्तेमाल किया है. (I1bd9c)

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

  • हमने पेंट फ़्लैग का इस्तेमाल करके, घुमावदार टेक्स्ट वाले ऐनिमेशन को और बेहतर बनाया है. (I73a15)
  • हमने Material Dialog के दस्तावेज़ को अपडेट किया है. इससे पता चलता है कि show फ़्लैग को false पर सेट करने के बाद, onDismissRequest को कॉल नहीं किया जाता है. (Ifd8d6)
  • हमने Material Dialog (I126bf) में विनेट ऐनिमेशन से जुड़ी गड़बड़ी को ठीक कर दिया है

वर्शन 1.5.0-alpha02

18 सितंबर, 2024

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

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

  • हमने अपने ScreenScaffold के साथ Wear Compose LazyColumn के लिए सहायता जोड़ी है. साथ ही, LazyColumnState के लिए ScrollInfoProvider को लागू किया है. (Ib8d29)
  • हमने viewportSize को LazyColumnLayoutInfo में जोड़ दिया है. (I4187f)

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

  • हमने एक गड़बड़ी को ठीक कर दिया है. अब userScrollEnabled फ़्लैग को false पर सेट करने पर, ScalingLazyColumn में रोटरी स्क्रोलिंग की सुविधा बंद हो जाएगी. (I490ab, b/360295825)
  • हमने एक गड़बड़ी ठीक की है. इसकी वजह से, घुमावदार टेक्स्ट पर अनचाही वर्टिकल पैडिंग दिखती थी. अब घुमावदार टेक्स्ट की ऊंचाई, टेक्स्ट के लिए इस्तेमाल की गई जगह से ज़्यादा मेल खाती है. कृपया ध्यान दें कि इससे घुमावदार टेक्स्ट (Iaa6ef) वाली स्क्रीनशॉट जांचें काम नहीं करेंगी
  • हमने Dialog में गड़बड़ी को ठीक करने वाले अपडेट को पहले जैसा कर दिया है. इस अपडेट में, showDialog को false पर सेट करने पर onDismissRequest कॉलबैक को कॉल किया जाता था. ऐसा इसलिए किया गया है, क्योंकि कुछ मामलों में onDismissRequest को कई बार कॉल किया जाता था. (I64656)

वर्शन 1.5.0-alpha01

4 सितंबर, 2024

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

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

  • हमने Wear Compose Foundation लाइब्रेरी में एक नया LazyColumn जोड़ा है. साथ ही, इससे जुड़े LazyColumnState और LazyColumnScope एपीआई भी जोड़े हैं. यह Wear Compose के साथ, पसंद के मुताबिक बनाए जा सकने वाले स्केलिंग और मॉर्फ़िंग इफ़ेक्ट बनाने के लिए आधार का काम करता है. (Ib3b22)
  • हमने नए LazyColumn एपीआई के तहत, LazyColumnScope में itemsIndexed का इंडेक्स किया गया वर्शन जोड़ा है. (Ib4a57)
  • हमने LazyColumn मॉडिफ़ायर जोड़े हैं, ताकि स्केलिंग और मॉर्फ़िंग के व्यवहारों को बेहतर तरीके से समझा जा सके. (Ie229a)
  • HierarchicalFocusCoordinator को स्टेबल वर्शन में प्रमोट कर दिया गया है. (I31035)
  • हमने घुमावदार टेक्स्ट में अक्षरों के बीच की दूरी को बदलने की सुविधा जोड़ी है. (I3c740)
  • कॉम्पोनेंट को रोटेट होने से रोकने के लिए, CurvedLayout.curvedComposable में rotationLocked पैरामीटर जोड़ा गया. (I66898)
  • wear material और wear material3 से, अस्थायी LocalUseFallbackRippleImplementation एपीआई हटा दिया गया है (I62282)
  • @WearPreviewDevices मल्टी-प्रीव्यू (I11c02) से WearDevices.SQUARE को हटाया गया

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

  • SwipeToReveal अब दिखाए गए आइटम को स्क्रीन के दिखने वाले हिस्से पर रखता है. इससे, सूची में SwipeToReveal का इस्तेमाल करने पर मदद मिलती है, ताकि आइटम हमेशा इंटरैक्ट किए जा सकें और कभी भी स्क्रीन से बाहर न जाएं. (I38929)
  • SwipeToReveal अब animatedTo पूरा होने पर, lastActionType को 'कोई नहीं' पर रीसेट करता है. (I59b03)
  • curvedComposable पर मौजूद नए rotationLocked पैरामीटर के दस्तावेज़ को बेहतर बनाया गया है. (Ifbd57)
  • NaN को ScalingLazyColumnSnapFlingBehavior के performFling में पास करते समय क्रैश होने की समस्या को ठीक किया गया है. (Ic13da)
  • घुमावदार लेआउट के साइज़ में बदलाव करने वाले मॉडिफ़ायर (I0fedf) से जुड़ी गड़बड़ी ठीक की गई
  • हमने 'sp' एट्रिब्यूट में बताई गई लेटर स्पेसिंग के लिए सहायता जोड़ी है. (I9f6e3)
  • हमने Material2 Dialog में मौजूद एक गड़बड़ी को ठीक किया है. इस गड़बड़ी की वजह से, डायलॉग के दिखने पर onDismissRequest कॉलबैक को कॉल नहीं किया जा रहा था (I64656)
  • इसके मकसद को बेहतर तरीके से दिखाने के लिए, LayoutCoordinates.introducesFrameOfReference का नाम बदलकर LayoutCoordinates.introducesMotionFrameOfReference कर दिया गया है. उस फ़्लैग के आधार पर कोऑर्डिनेट का हिसाब लगाने के लिए, संबंधित फ़ंक्शन का नाम बदला गया. (I3a330)

वर्शन 1.4

वर्शन 1.4.1

12 फ़रवरी, 2025

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

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

  • हमने ग्लोबल रिड्यूसमॉशन सेटिंग को ऐक्सेस करते समय क्रैश होने की समस्या को ठीक किया है. यह समस्या कुछ ऐसे प्लैटफ़ॉर्म पर ट्रिगर हुई थी जहां यह सेटिंग उपलब्ध नहीं थी. (I01e2c)

वर्शन 1.4.0

4 सितंबर, 2024

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

1.3.0 के बाद हुए अहम बदलाव

  • ScalingLazyColumn और Picker अब डिफ़ॉल्ट रूप से रोटरी इनपुट के साथ काम करते हैं. हमारा सुझाव है कि रोटरी हैंडलिंग को हटा दें और सिस्टम के डिफ़ॉल्ट तरीके का इस्तेमाल करें. ज़रूरत पड़ने पर, स्क्रोल या स्नैप बिहेवियर को कॉन्फ़िगर करने के लिए, rotaryScrollableBehavior पैरामीटर का इस्तेमाल करें. स्नैप बिहेवियर के लिए, हमारा सुझाव है कि flingBehavior पैरामीटर का इस्तेमाल करके, स्नैप बिहेवियर और टच स्क्रोलिंग की सुविधाएं दें.
  • Modifier.rotaryScrollable एक नया मॉडिफ़ायर है. यह रोटरी इवेंट को स्क्रोल किए जा सकने वाले कंटेनर से कनेक्ट करता है. इससे उपयोगकर्ता, अपने Wear OS डिवाइस पर क्राउन या रोटेटिंग बेज़ल का इस्तेमाल करके स्क्रोल कर सकते हैं.
  • SwipeDismissableNavHost अब ऐप्लिकेशन में ट्रांज़िशन के लिए एंट्री ऐनिमेशन उपलब्ध कराता है.
  • अब स्क्रीन पहली बार दिखने पर, PositionIndicator डिफ़ॉल्ट रूप से दिखता है.

अन्य बदलाव

  • वर्शन 1.3.0 में किए गए बदलावों के बारे में ज़्यादा जानने के लिए, beta01 के रिलीज़ नोट देखें.

वर्शन 1.4.0-rc01

21 अगस्त, 2024

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

  • हमने Compose की डिपेंडेंसी को 1.7.0-rc01 पर अपडेट किया है. साथ ही, Wear Compose Navigation को androidx.lifecycle 2.8.3 पर पिन किया है

वर्शन 1.4.0-beta03

12 जून, 2024

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

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

  • हमने Modifier.rotaryScrollable को अपडेट किया है. अब इसमें ‘focusable’ के बजाय ‘focusTarget’ का इस्तेमाल किया जाएगा. इससे परफ़ॉर्मेंस बेहतर होती है. (Id294b)
  • हमने उस समस्या को ठीक कर दिया है जिसमें TalkBack के तहत ProgressIndicator बार-बार सूचना दे रहा था. (I94563)
  • हमने Wear Compose लाइब्रेरी की बेसलाइन प्रोफ़ाइलों को अपडेट कर दिया है. (I3cbc3)

वर्शन 1.4.0-beta02

29 मई, 2024

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

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

  • हमने स्क्रीन रीडर को पास की गई बाउंड्री की चौड़ाई को बढ़ा दिया है, ताकि घुमावदार टेक्स्ट में शब्दों के कटने की समस्या को ठीक किया जा सके (Id865f).
  • हमने स्क्रीन रीडर को पास किए गए HorizontalPageIndicator की सीमा तय कर दी है. इससे पहले, इंडिकेटर पूरी स्क्रीन पर दिखता था (Id8d7a).

वर्शन 1.4.0-beta01

14 मई, 2024

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

Compose for Wear OS के 1.4-beta01 वर्शन से पता चलता है कि इस लाइब्रेरी का यह वर्शन, सभी सुविधाओं के साथ उपलब्ध है. साथ ही, एपीआई लॉक है. हालांकि, जहां एक्सपेरिमेंट के तौर पर मार्क किया गया है वहां एपीआई लॉक नहीं है. Wear Compose 1.4 में ये नई सुविधाएं शामिल हैं:

  • हमने Modifier.rotaryScrollable नाम का एक नया मॉडिफ़ायर जोड़ा है. यह रोटरी इवेंट को स्क्रोल किए जा सकने वाले कंटेनर से कनेक्ट करता है. इससे उपयोगकर्ता, Wear OS डिवाइस पर मौजूद क्राउन या रोटेटिंग बेज़ल की मदद से स्क्रोल कर सकते हैं. इसके अलावा, ScalingLazyColumn और Picker में अब डिफ़ॉल्ट रूप से रोटरी इनपुट की सुविधा काम करती है. स्क्रोल या स्नैप करने के तरीके को कॉन्फ़िगर करने के लिए, rotaryScrollableBehavior पैरामीटर का इस्तेमाल करें. स्नैप बिहेवियर के लिए, हमारा सुझाव है कि टच स्क्रोलिंग के लिए भी flingBehavior पैरामीटर के ज़रिए स्नैप की सुविधा दें.
  • SwipeDismissableNavHost अब ऐप्लिकेशन में ट्रांज़िशन के लिए एंट्री ऐनिमेशन उपलब्ध कराता है.
  • अब स्क्रीन पहली बार दिखने पर, PositionIndicator डिफ़ॉल्ट रूप से दिखता है.
  • SelectableChip और SplitSelectableChip को ToggleChip में बदलाव के तौर पर जोड़ा गया है - सुलभता के लिए टॉगल किए जा सकने वाले सिमैंटिक के बजाय, चुने जा सकने वाले सिमैंटिक उपलब्ध कराने के लिए, इसका इस्तेमाल RadioButton के साथ करें
  • ListHeader में अब ऊंचाई को अडजस्ट करने की सुविधा उपलब्ध है. ऐसा तब किया जाता है, जब बड़े फ़ॉन्ट साइज़ को दिखाने के लिए कॉन्टेंट को ज़्यादा ऊंचाई की ज़रूरत होती है.

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

  • हमने एक बग को ठीक किया है. इस बग की वजह से, चुने जा सकने वाले चिप पहले से चुने होने पर, दो बार टैप करके टॉगल करने की सूचना देते थे. (I7ed88)

वर्शन 1.4.0-alpha08

1 मई, 2024

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

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

  • हमने नए रोटरी एपीआई में ये बदलाव किए हैं: Modifier.rotary का नाम बदलकर Modifier.rotaryScrollable कर दिया गया है; RotaryBehavior इंटरफ़ेस का नाम बदलकर RotaryScrollableBehavior कर दिया गया है और इसके फ़ंक्शन handleScrollEvent का नाम बदलकर performScroll कर दिया गया है; RotaryScrollableAdapter का नाम बदलकर RotaryScrollableLayoutInfoProvider कर दिया गया है और scrollableState प्रॉपर्टी हटा दी गई है. (I0c8a6)
  • हमने रोटरी एपीआई में कुछ और बदलाव किए हैं: RotaryScrollableLayoutInfoProvider का नाम बदलकर RotarySnapLayoutInfoProvider कर दिया है, क्योंकि इस प्रोवाइडर की ज़रूरत सिर्फ़ स्नैप के साथ रोटरी के लिए होती है; RotaryScrollableDefaults.snapBehavior snapOffset में snapOffset पैरामीटर का टाइप Int से बदलकर Dp कर दिया है. (Iddebe)
  • हमने SplitSelectableChip पर मौजूद clickInteractionSource पैरामीटर का नाम बदलकर containerInteractionSource कर दिया है. (Ia8f84)
  • हमने SplitSelectableChip के लिए, क्लिक कॉलबैक पैरामीटर के नाम अपडेट कर दिए हैं. इन्हें onClick से onSelectionClick और onBodyClick से onContainerClick में बदल दिया गया है. (I32237)

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

  • हमने PositionIndicator के लिए हॉरिज़ॉन्टल पैडिंग को 2dp (पहले 5dp थी) पर अपडेट किया है, ताकि उस गड़बड़ी को ठीक किया जा सके जिसमें PositionIndicator (स्क्रोल बार), स्क्रोल किए जा सकने वाले कॉन्टेंट पर ओवरलैप हो जाता है. कृपया ध्यान दें कि पैडिंग में बदलाव होने की वजह से, PositionIndicator को शामिल करने वाले मौजूदा स्क्रीनशॉट काम नहीं करेंगे. (I57472)
  • हमने नए रोटरी एपीआई के लिए दस्तावेज़ को बेहतर बनाया है. इसमें, कम रिज़ॉल्यूशन और ज़्यादा रिज़ॉल्यूशन वाले रोटरी डिवाइसों के बीच के अंतर के बारे में बताया गया है. (I63abe)
  • हमने SwipeDismissableNavHost में रेंज से बाहर की वैल्यू से जुड़ी समस्या को ठीक कर दिया है. यह समस्या तब ट्रिगर हो सकती थी, जब इंटरपोलेट की गई ऐल्फ़ा वैल्यू शून्य से कम होती थीं. (Ib75a1, b/335782510)

वर्शन 1.4.0-alpha07

17 अप्रैल, 2024

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

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

  • हमने Modifier.rotary नाम का एक नया मॉडिफ़ायर जोड़ा है. यह रोटरी इवेंट को स्क्रोल किए जा सकने वाले कंटेनर से कनेक्ट करता है. इससे उपयोगकर्ता, Wear OS डिवाइस पर मौजूद क्राउन या रोटेटिंग बेज़ल की मदद से स्क्रोल कर सकते हैं. इसके अलावा, ScalingLazyColumn और Picker अब डिफ़ॉल्ट रूप से रोटरी इनपुट के साथ काम करते हैं. इनमें नए ओवरलोड शामिल हैं. इनमें स्क्रोल या स्नैप के कॉन्फ़िगरेशन के लिए rotaryBehavior पैरामीटर शामिल है. अगर rotaryBehavior पैरामीटर को स्नैप पर सेट किया गया है, तो हमारा सुझाव है कि टच स्क्रोलिंग के लिए, flingBehavior पैरामीटर के ज़रिए भी स्नैप की सुविधा उपलब्ध कराएं. (I2ef6f)
  • NestedScroll सोर्स के लिए, ड्रैग और फ़्लिंग को UserInput और SideEffect से बदला जा रहा है. ऐसा इसलिए किया जा रहा है, ताकि इन सोर्स की बढ़ी हुई परिभाषा को शामिल किया जा सके. अब इनमें ऐनिमेशन (साइड इफ़ेक्ट) और माउस व्हील और कीबोर्ड (उपयोगकर्ता का इनपुट) शामिल हैं. (I40579)
  • हमने SelectableChip और SplitSelectableChip को जोड़ा है, ताकि टॉगल कंट्रोल (जैसे, Switch/Checkbox) और चुने जा सकने वाले कंट्रोल (जैसे, RadioButton) के बीच अंतर को ज़्यादा आसानी से समझा जा सके. इससे, ToggleChip/SplitToggleChip के पहले से जोड़े गए ओवरलोड को selectionControl पैरामीटर से बदल दिया जाता है. (Ia0217)
  • ProgressIndicatorDefaults में IndeterminateStrokeWidth के लिए, विज़िबिलिटी मॉडिफ़ायर को सार्वजनिक के तौर पर अपडेट किया गया. (I5b5a4)

वर्शन 1.4.0-alpha06

3 अप्रैल, 2024

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

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

  • हमने रोटरी सपोर्ट का इंटरनल ड्राफ़्ट जोड़ा है. यह रोटरी के व्यवहार को Horologist से AndroidX में माइग्रेट करने के बड़े प्रयास का हिस्सा है. (I617d1)
  • हमने हैप्टिक सपोर्ट का इंटरनल ड्राफ़्ट जोड़ा है. यह रोटरी के व्यवहार को Horologist से AndroidX में माइग्रेट करने की हमारी कोशिश का हिस्सा है. (I5568a)

वर्शन 1.4.0-alpha05

20 मार्च, 2024

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

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

  • हमने ScalingLazyListState की initialCenterItemIndex और initialCenterItemScrollOffset प्रॉपर्टी को सार्वजनिक कर दिया है. (I0c616)
  • हमने ProgressIndicatorDefaults से मिले FullScreenStrokeWidth को सार्वजनिक कर दिया है. (Ibea23)

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

  • हमने PositionIndicator की परफ़ॉर्मेंस को बेहतर बनाया है. इसके लिए, हमने ScalingLazyColumn से layoutInfo को किए जाने वाले कॉल की संख्या कम कर दी है. (Idc83d)

वर्शन 1.4.0-alpha04

6 मार्च, 2024

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

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

  • हमने ToggleChip और SplitToggleChip के लिए एक नया ओवरलोड जोड़ा है. यह toggleControl पैरामीटर के बजाय selectionControl पैरामीटर लेता है. इसका इस्तेमाल RadioButton कंट्रोल के साथ किया जाना चाहिए, ताकि सुलभता (I1d6d9) के लिए टॉगल किए जा सकने वाले सिमैंटिक के बजाय, चुने जा सकने वाले सिमैंटिक उपलब्ध कराए जा सकें
  • हमने नई selectionControl ओवरलोड के लिए पैरामीटर के नाम अपडेट किए हैं. onSelected से onSelect तक, ToggleChip और SplitToggleChip के लिए (I1a971)

वर्शन 1.4.0-alpha03

21 फ़रवरी, 2024

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

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

  • Modifier.inspectable रैपर अब काम नहीं करता है. यह एपीआई, आपके मॉडिफ़ायर को ज़रूरत से ज़्यादा बार अमान्य कर देगा. इसलिए, अब इसका इस्तेमाल न करने का सुझाव दिया जाता है. अगर डेवलपर को टूलिंग के लिए मॉडिफ़ायर प्रॉपर्टी दिखानी हैं, तो उन्हें ModifierNodeElement पर inspectableProperties() तरीके को लागू करने का सुझाव दिया जाता है. (Ib3236)

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

  • हमने WearPreview* एनोटेशन के दस्तावेज़ से जुड़ी गड़बड़ी ठीक कर दी है. (Id526d)

वर्शन 1.4.0-alpha02

7 फ़रवरी, 2024

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

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

  • हमने स्वाइप करके जानकारी देखने की सुविधा से जुड़ी एक गड़बड़ी ठीक की है. इस गड़बड़ी की वजह से, किसी एक आइटम पर की गई कार्रवाई को दूसरे आइटम पर स्वाइप करके इंटरैक्ट किया जा सकता था और रद्द किया जा सकता था.(Ide059)
  • हमने ListHeader को अपडेट किया है, ताकि बड़े फ़ॉन्ट साइज़ के हिसाब से कॉन्टेंट को दिखाने के लिए, ऊंचाई में बदलाव किया जा सके. (I7290c, b/251166127)

वर्शन 1.4.0-alpha01

24 जनवरी, 2024

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

नई सुविधाएं

  • हमने ऐप्लिकेशन में ट्रांज़िशन के लिए, SwipeDismissableNavHost में एंट्री ऐनिमेशन जोड़ा है.(cfeb79a)
  • अब स्क्रीन पहली बार दिखने पर, PositionIndicator डिफ़ॉल्ट रूप से दिखता है. यह बदलाव, Wear क्वालिटी से जुड़े दिशा-निर्देशों का पालन करने में मदद करने के लिए किया गया था. माफ़ करें, इसका मतलब है कि PositionIndicator को शामिल करने वाली स्क्रीन पर, स्क्रीनशॉट टेस्ट को अपडेट करना होगा. ऐसा इसलिए, क्योंकि PositionIndicator पहले नहीं दिखाया जाता था. (419cef7)

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

  • हमने wear:compose-material और wear:compose-material3 लाइब्रेरी में नया रिपल एपीआई जोड़ा है. यह एपीआई, बंद किए जा चुके rememberRipple की जगह लेगा. यह rememberRipple/RippleTheme एपीआई के इस्तेमाल को बंद करने के लिए, कुछ समय के लिए CompositionLocal, LocalUseFallbackRippleImplementation भी जोड़ता है. इसे अगले स्टेबल वर्शन में हटा दिया जाएगा. साथ ही, इसका इस्तेमाल सिर्फ़ उन मामलों में किया जा सकता है जहां आपको कस्टम RippleTheme देना है. डेटा माइग्रेट करने के बारे में जानकारी और इस बदलाव के बारे में ज़्यादा जानकारी पाने के लिए, developer.android.com पर जाएं. (af92b21)
  • हमने ColorScheme को अपडेट किया है, ताकि इसे बदला न जा सके. इससे अलग-अलग रंगों को अपडेट करना कम असरदार हो जाता है. हालांकि, रंगों का ज़्यादा इस्तेमाल करना ज़्यादा असरदार हो जाता है. इस बदलाव की वजह यह है कि ज़्यादातर ऐप्लिकेशन में, अलग-अलग रंगों को अपडेट करने की सुविधा का इस्तेमाल मुख्य तौर पर नहीं किया जाता. अब भी ऐसा किया जा सकता है, लेकिन इससे पहले की तुलना में ज़्यादा कॉम्पोज़िशन होगा. इससे, हम सभी मटीरियल कोड के ज़रिए स्टेट की सदस्यता की संख्या को काफ़ी कम कर देंगे. साथ ही, इससे ज़्यादा स्टैंडर्ड इस्तेमाल के उदाहरणों की शुरुआत और रनटाइम की लागत पर असर पड़ेगा. (f5c48b7)
  • Wear material और Wear material3 कॉम्पोनेंट, अपने एपीआई में MutableInteractionSource को दिखाते हैं. इन्हें अपडेट कर दिया गया है. अब ये ऐसे MutableInteractionSource को दिखाएंगे जो null हो सकता है और डिफ़ॉल्ट रूप से null पर सेट होता है. यहां कोई सिमैंटिक बदलाव नहीं किया गया है: null पास करने का मतलब है कि आपको MutableInteractionSource को ऊपर नहीं ले जाना है. अगर ज़रूरत होगी, तो इसे कॉम्पोनेंट के अंदर बनाया जाएगा. इसे null पर सेट करने से, कुछ कॉम्पोनेंट को कभी भी MutableInteractionSource असाइन नहीं किया जाता है. साथ ही, अन्य कॉम्पोनेंट को सिर्फ़ तब इंस्टेंस बनाने की अनुमति मिलती है, जब उन्हें इसकी ज़रूरत होती है. इससे इन कॉम्पोनेंट की परफ़ॉर्मेंस बेहतर होती है. अगर इन कॉम्पोनेंट को पास किए गए MutableInteractionSource का इस्तेमाल नहीं किया जा रहा है, तो हमारा सुझाव है कि आप इसके बजाय null पास करें. हमारा यह भी सुझाव है कि आप अपने कॉम्पोनेंट में भी इसी तरह के बदलाव करें. (f8fa920)
  • हमने rememberExpandableState को अपडेट किया है, ताकि एक्सपैंड की गई स्थिति को सेव किया जा सके. इससे यह पक्का होता है कि किसी दूसरी स्क्रीन पर जाने पर डेटा सेव हो जाए और वापस मूल स्क्रीन पर आने पर डेटा वापस आ जाए. (5c80095)

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

  • हमने लाइफ़साइकल के हिसाब से काम करने वाले लिसनर का इस्तेमाल करने के लिए, ReduceMotion सेटिंग को अपडेट किया है. (7c6b122)
  • हमने TouchExplorationStateProvider के लिसनर को अपडेट किया है, ताकि वह लाइफ़साइकल के बारे में जान सके (be28b01)
  • हमने CompactButton के लिए, materialcore लेयर को हटा दिया है, ताकि परफ़ॉर्मेंस को बेहतर बनाया जा सके (25db8e9)
  • हमने BasicSwipeToDismissBox को NaN ऑफ़सेट के लिए ज़्यादा मज़बूत बनाया है, ताकि अपवादों (b983739) से बचा जा सके
  • हमने BasicSwipeToDismissBox को अपडेट किया है, ताकि यह पक्का किया जा सके कि ऐल्फ़ा वैल्यू, 0,1 की रेंज में हों
  • हमने ToggleButton, SplitToggleButton, Checkbox, Switch, और RadioButton में मौजूद एक गड़बड़ी को ठीक कर दिया है, ताकि ऐक्सेसिबिलिटी से जुड़ी सूचनाएं दोहराई न जाएं. इससे पहले, सिमैंटिक रोल डुप्लीकेट हो जाती थीं (d11eeb7)

वर्शन 1.3

वर्शन 1.3.1

3 अप्रैल, 2024

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

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

  • हमने स्वाइप करके आइटम दिखाने की सुविधा से जुड़ी एक गड़बड़ी को ठीक किया है. इस गड़बड़ी की वजह से, किसी आइटम पर की गई कार्रवाई को रद्द किया जा सकता था. इसके लिए, किसी दूसरे आइटम पर स्वाइप करना शुरू करना पड़ता था. (Ide059)

वर्शन 1.3.0

24 जनवरी, 2024

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

1.2.0 के बाद हुए ज़रूरी बदलाव

  • SwipeToDismissBoxState क्लास, SwipeToDismissValue इन्यूमरेशन, और Modifier.edgeSwipeToDismiss एक्सटेंशन फ़ंक्शन अब androidx.wear.compose.material पैकेज के बजाय, androidx.wear.compose.foundation पैकेज का हिस्सा हैं. अपडेट किए गए इस आर्किटेक्चर की मदद से, अन्य डिज़ाइन से जुड़ी बातों पर ध्यान दिए बिना, जेस्चर हैंडलिंग को लागू किया जा सकता है. Material Design के वर्कफ़्लो, जैसे कि कॉन्फ़िगर की गई थीम से रंग लागू करना, अलग से हैंडल किए जाते हैं.
  • SwipeToRevealCard और SwipeToRevealChip क्लास की मदद से, recommended swipe-to-reveal guidance को लागू किया जा सकता है. SwipeToRevealSample क्लास में, इन कॉम्पोनेंट को इस्तेमाल करने का तरीका बताया गया है.
  • हमने 1.3.0-alpha02 वर्शन में एक बदलाव किया है. इससे Chip और ToggleChip ऑब्जेक्ट की ऊंचाई बढ़ जाती है, ताकि उपयोगकर्ता के चुने गए फ़ॉन्ट के साइज़ को बेहतर तरीके से दिखाया जा सके. इससे कुछ क्लिपिंग हो सकती है. इस समस्या को ठीक करने के लिए, MaterialTheme के लिए large शेप में अब बड़े कॉर्नर रेडियस (24 डीपी के बजाय 26 डीपी) का इस्तेमाल किया जाता है. Chip और ToggleChip ऑब्जेक्ट, इस नए कॉर्नर रेडियस का इस्तेमाल करते हैं, ताकि चिप और ToggleChip के कोनों पर मौजूद कॉन्टेंट को काटा न जा सके.

    • ज़्यादातर Chips और ToggleChips में कोई बदलाव नहीं किया गया है, क्योंकि इनकी डिफ़ॉल्ट ऊंचाई 52 डीपी है. हालांकि, Chip और ToggleChip ऑब्जेक्ट में प्राइमरी या सेकंडरी लेबल के टेक्स्ट की एक से ज़्यादा लाइनें होने या उनकी ऊंचाई में बदलाव किए जाने की वजह से, स्क्रीनशॉट टेस्ट काम नहीं कर सकते.

अन्य बदलाव

वर्शन 1.3.0 में किए गए बदलावों के बारे में ज़्यादा जानने के लिए, beta01 के रिलीज़ नोट देखें.

लागू करने के लिए सुझाव

  • अगर आपका ऐप्लिकेशन, उपयोगकर्ताओं को स्क्रीन के कॉन्टेंट को पैन करने की सुविधा देता है, जैसे कि मैप पर आधारित ऐप्लिकेशन में, तो SwipeDismissableNavHost कंपोज़ेबल में userSwipeEnabled को false पर सेट करके, स्वाइप करने की सुविधा बंद करें. साथ ही, एक ऐसा बटन शामिल करें जिससे उपयोगकर्ता पिछली स्क्रीन पर जा सकें.
  • स्क्रोल करने वाली सूची में, फ़ेड-इन और जगह बदलने वाले ऐनिमेशन के दौरान, जगह की जानकारी देने वाले इंडिकेटर के लिए ऐनिमेशन बंद करने के लिए, SnapSpec ऑब्जेक्ट का इस्तेमाल करें.
  • मीडिया ऐप्लिकेशन के कॉन्टेंट को लोड होने में समय लगता है. इसलिए, प्लेबैक के दौरान एक खाली Placeholder कंपोज़ेबल दिखाएं.
  • मांग पर बड़े किए जा सकने वाले आइटम का कलेक्शन बनाने के लिए, एक्सपेरिमेंट के तौर पर उपलब्ध ExpandableStateMapping क्लास का इस्तेमाल करें.

वर्शन 1.3.0-rc01

10 जनवरी, 2024

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

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

  • हमने MaterialTheme बड़े साइज़ के शेप को अपडेट किया है, ताकि 26dp के राउंडेड कॉर्नर रेडियस का इस्तेमाल किया जा सके. अब इसका इस्तेमाल Chip और ToggleChip करेंगे. यह बदलाव इसलिए ज़रूरी है, ताकि बड़े फ़ॉन्ट साइज़ के हिसाब से कॉन्टेंट की ऊंचाई में बदलाव किया जा सके. ऐसा न करने पर, मौजूदा स्टेडियम के आकार में कुछ टेक्स्ट कॉन्टेंट कट जाता है.

    कोनों पर टेक्स्ट क्लिप किया गया है
    पहली इमेज: कोनों पर टेक्स्ट कटा हुआ है.
    टेक्स्ट को काटा नहीं गया है
    दूसरी इमेज: टेक्स्ट काटा नहीं गया है.

    इस बदलाव की वजह से, स्क्रीनशॉट टेस्ट में गड़बड़ी हो सकती है. (I2e6ae)

वर्शन 1.3.0-beta02

13 दिसंबर, 2023

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

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

  • हमने BasicSwipeToDismissBox में स्वाइप करने की सुविधा को पहले जैसा कर दिया है. पिछली रिलीज़ में, इसमें बदलाव किया गया था. इससे, स्क्रीन को छूते समय ट्रांज़िशन का स्लाइड वाला हिस्सा दिखता था. (Id8e76)

वर्शन 1.3.0-beta01

15 नवंबर, 2023

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

Compose for Wear OS के 1.3-beta01 वर्शन से पता चलता है कि इस लाइब्रेरी के सभी फ़ीचर उपलब्ध हैं और एपीआई लॉक है. हालांकि, जहां एक्सपेरिमेंट के तौर पर मार्क किया गया है वहां एपीआई लॉक नहीं है. Wear Compose 1.3 में ये नई सुविधाएं शामिल हैं:

  • SwipeToDismissBoxState, SwipeToDismissValue, और Modifier.edgeSwipeToDismiss को androidx.wear.compose.material से androidx.wear.compose.foundation पर माइग्रेट कर दिया गया है. साथ ही, BasicSwipeToDismissBox में स्वाइप करके खारिज करने की सुविधा को भी माइग्रेट कर दिया गया है. इससे, स्वाइप करके खारिज करने के लिए, जेस्चर हैंडलिंग की सुविधा को Material Design से अलग इस्तेमाल किया जा सकता है. उदाहरण के लिए, androidx.wear.compose.navigation में मौजूद SwipeDismissableNavHost से. SwipeToDismissBox को अब भी Material Design के साथ इस्तेमाल करने का सुझाव दिया जाता है, क्योंकि यह MaterialTheme से रंग लेता है. इसके बाद, बाकी काम BasicSwipeToDismissBox को सौंप देता है.androidx.wear.compose.material
  • SwipeDismissableNavHost अब नए userSwipeEnabled पैरामीटर के साथ काम करता है, ताकि उन स्क्रीन के लिए स्वाइप करने की सुविधा बंद की जा सके जहां इसकी ज़रूरत नहीं है.
  • BasicSwipeToDismissBox ने HierarchicalFocusCoordinator का इस्तेमाल करके, फ़ोकस को बेहतर तरीके से मैनेज करने की सुविधा दी है.
  • SwipeToReveal में Material के नए SwipeToRevealCard और SwipeToRevealChip कंपोज़ेबल शामिल हैं. ये Card और Chip के लिए, यूज़र एक्सपीरियंस (यूएक्स) से जुड़े सुझावों का पालन करते हैं. इसमें सेकंडरी ऐक्शन को पहले जैसा करने की सुविधा भी है.
  • DefaultTextStyle अब फ़ॉन्ट पैडिंग की सुविधा बंद कर देता है, ताकि Android प्लैटफ़ॉर्म पर एक जैसा अनुभव मिल सके.
  • Chip और ToggleChip अब अपनी ऊंचाई को अडजस्ट करते हैं, ताकि सुलभता के लिए बड़े फ़ॉन्ट की वजह से बढ़े हुए कॉन्टेंट को शामिल किया जा सके
  • PositionIndicator में अब फ़ेड-इन, फ़ेड-आउट, और पोज़िशन बदलने वाले ऐनिमेशन के लिए अलग-अलग ऐनिमेशन स्पेसिफ़िकेशन मौजूद हैं. परफ़ॉर्मेंस को बेहतर बनाने के लिए, हमारा सुझाव है कि स्क्रोल की जा सकने वाली सूचियों के साथ इस्तेमाल करते समय, फ़ेड-इन और पोज़िशन में बदलाव करने की सुविधा बंद कर दी जाए.
  • ExpandableStateMapping, ExpandableStates जनरेट करने का एक नया तरीका है. इसका इस्तेमाल तब किया जाता है, जब ExpandableStates को मांग पर बनाया जाना हो और ज़रूरी नहीं कि वे @Composable स्कोप के साथ बनाए जाएं.
  • अगर कॉन्टेंट अब तैयार नहीं है, तो Placeholder को रीसेट किया जा सकता है. इसके अलावा, मोशन कम करने की सेटिंग अब Placeholder पर दिखने वाले शिमरिंग इफ़ेक्ट और वाइप-ऑफ़ मोशन पर भी लागू होती है.

ऐसी समस्याएं जिनके बारे में जानकारी पहले से है

  • PositionIndicator को पहली बार स्क्रीन दिखने पर नहीं दिखाया जाता. हम 1.4 के शुरुआती ऐल्फ़ा वर्शन में बदलाव करने वाले हैं, ताकि इसे शुरुआत में दिखाया जा सके. हालांकि, इसमें कोई ऐनिमेशन नहीं होगा.

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

  • हमने फ़ाउंडेशन लेवल SwipeToDismissBox का नाम बदलकर BasicSwipeToDismissBox कर दिया है. इससे, फ़ाउंडेशन लेवल कॉम्पोनेंट और मटीरियल लेवल SwipeToDismissBox के बीच का अंतर साफ़ तौर पर पता चलता है. बाद वाला, MaterialTheme से रंग लेता है, ताकि उनका इस्तेमाल स्क्रिम में किया जा सके. साथ ही, बाकी काम BasicSwipeToDismissBox को सौंप देता है. (Ibecfc)
  • हमने rememberExpandableStateMapping को एक्सपेरिमेंटल के तौर पर मार्क किया है और expandableItem की परफ़ॉर्मेंस को बेहतर बनाया है. (I5f6bc)
  • हमने Material SwipeToReveal Card और Chip API में SwipeToRevealAction क्लास को, स्लॉट-आधारित एपीआई से बदल दिया है. इसमें SwipeToRevealPrimaryAction, SwipeToRevealSecondaryAction, और SwipeToRevealUndoAction कंपोज़ेबल का इस्तेमाल किया गया है. नए एपीआई को इस्तेमाल करने के तरीके के उदाहरणों के लिए, कृपया सैंपल कोड देखें. (Ia8943)
  • हमने PositionIndicator ऐनिमेशन फ़्लैग को AnimationSpec पैरामीटर से बदल दिया है. snap को AnimationSpec के तौर पर पास करके, अलग-अलग ऐनिमेशन बंद किए जा सकते हैं. (I6c523)

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

  • हमने एक बग को ठीक कर दिया है. यह बग, सीमित साइज़ वाले घुमावदार टेक्स्ट की वजह से ट्रिगर होता था (I50efe)
  • हमने curvedComposable (I970eb) से जुड़े NaN क्रैश की समस्या को ठीक कर दिया है
  • हमने PositionIndicator पर, जगह बदलने के हाइलाइट ऐनिमेशन को हटाने की सुविधा को वापस ला दिया है. (Ieb424)
  • हमने मटीरियल चिप के लिए, मटीरियल-कोर लेयर को हटा दिया है, ताकि इसकी परफ़ॉर्मेंस को बेहतर बनाया जा सके. (If2dcb)

वर्शन 1.3.0-alpha08

18 अक्टूबर, 2023

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

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

  • हमने PositionIndicator ओवरलोड में अलग-अलग फ़्लैग जोड़े हैं, ताकि अलग-अलग ऐनिमेशन को कंट्रोल किया जा सके: showFadeInAnimation, showFadeOutAnimation, और showPositionAnimation. एपीआई का पिछला वर्शन बंद कर दिया गया है. अब कॉल, नए वर्शन पर फ़ॉरवर्ड किए जाते हैं. परफ़ॉर्मेंस को बेहतर बनाने और यूज़र एक्सपीरियंस को एक जैसा बनाए रखने के लिए, जब स्क्रोल की जा सकने वाली सूची के साथ PositionIndicator का इस्तेमाल किया जाता है, तो हमारा सुझाव है कि showFadeInAnimation और showPositionAnimation फ़्लैग बंद कर दें. अगर PositionIndicator का इस्तेमाल स्टैंडअलोन इंडिकेटर के तौर पर किया जाता है, जैसे कि आवाज़ में बदलाव के लिए, तो हमारा सुझाव है कि तीनों ऐनिमेशन चालू हों. (I44294)
  • हमने स्वाइप करके खारिज करने की सुविधा को wear.compose.foundation पर माइग्रेट कर दिया है. इसलिए, हमने Material SwipeToDismissBoxState, SwipeToDismissValue, और edgeSwipeToDismiss को बंद कर दिया है. कृपया इन्हें wear.compose.foundation के बराबर वाले टैग से बदलें. (Iee8c9)

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

  • हमने Wear Compose Foundation, Material, और Navigation लाइब्रेरी के लिए, बेसलाइन प्रोफ़ाइलें अपडेट की हैं. (Idb060)
  • हमने पिछले सीएल में पेश किए गए PositionIndicator के व्यवहार में बदलाव को वापस कर दिया है. इससे, स्क्रीन के शुरू में दिखने पर PositionIndicator ऐनिमेट होता था. हम 1.4 के शुरुआती ऐल्फ़ा वर्शन में भी ऐसा ही बदलाव करेंगे, ताकि PositionIndicator को शुरुआत में दिखाया जा सके. हालांकि, इसमें कोई ऐनिमेशन नहीं होगा. (I41843)
  • हमने PositionIndicator में परफ़ॉर्मेंस से जुड़ी कुछ समस्याओं को ठीक किया है. (I1c654, b/302399827)
  • हमने टच एक्सप्लोरेशन स्टेट प्रोवाइडर के डिफ़ॉल्ट तौर पर लागू होने की परफ़ॉर्मेंस को ऑप्टिमाइज़ किया है, ताकि यह डिराइव की गई स्थिति के बजाय State<Boolean> पर निर्भर रहे. (Ieec4d)
  • हमने Android 13 और उसके बाद के वर्शन के लिए, systemGestureExclusion रेक्टैंगल सेट किए हैं. (Ib1f4b)

वर्शन 1.3.0-alpha07

4 अक्टूबर, 2023

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

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

  • हमने PositionIndicator में अलग-अलग फ़्लैग जोड़े हैं, ताकि अलग-अलग ऐनिमेशन को कंट्रोल किया जा सके: showFadeInAnimation, showFadeOutAnimation, और showPositionAnimation. एपीआई का पिछला वर्शन बंद कर दिया गया है. अब कॉल, नए वर्शन पर फ़ॉरवर्ड किए जाते हैं. परफ़ॉर्मेंस को बेहतर बनाने और यूज़र एक्सपीरियंस को एक जैसा बनाए रखने के लिए, जब स्क्रोल की जा सकने वाली सूची के साथ PositionIndicator का इस्तेमाल किया जाता है, तो हमारा सुझाव है कि showFadeInAnimation और showPositionAnimation फ़्लैग बंद कर दें. अगर PositionIndicator का इस्तेमाल स्टैंडअलोन इंडिकेटर के तौर पर किया जाता है, जैसे कि आवाज़ में बदलाव के लिए, तो हमारा सुझाव है कि तीनों ऐनिमेशन चालू हों. (Ia2d63)

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

  • हमने स्वाइप करके मोशन दिखाने की सुविधा को बेहतर बनाया है. इसके लिए, हमने प्राइमरी ऐक्शन टेक्स्ट में फ़ेड ऐनिमेशन जोड़ा है. साथ ही, पूरी तरह से स्वाइप करने पर, सेकंडरी ऐक्शन को फ़ेड किया है या आइकॉन के स्केल को बदला है. (Ib7223)
  • हमारा सुझाव है कि स्वाइप करके दिखाने की सुविधा से जुड़ी कार्रवाइयों को ऐक्सेस किया जा सके. हमने स्वाइप करके दिखाने की सुविधा के सैंपल में, ऐक्सेसिबिलिटी से जुड़ी कस्टम कार्रवाइयां जोड़ी हैं. (I42224)
  • हमने SwipeToDismissBox की परफ़ॉर्मेंस को बेहतर बनाया है. इसमें रीफ़ैक्टरिंग भी शामिल है, ताकि यह पक्का किया जा सके कि शुरुआती लॉजिक से रीकंपोज़िशन ट्रिगर न हो. SwipeToDismissBox को अब फ़ुल स्क्रीन के साइज़ में दिखाया गया है. (Ie0aa2)
  • हमने उस गड़बड़ी को ठीक कर दिया है जब PositionIndicator गलत तरीके से गायब हो जाता था. (I2091a)
  • रीकंपोज़िशन को ऑप्टिमाइज़ करके, PositionIndicator की परफ़ॉर्मेंस को बेहतर बनाया गया है. ऐनिमेशन को कंट्रोल करने के लिए, बाद में नए फ़्लैग (fadeIn, fadeOut, और positionChange) जोड़े गए हैं. एपीआई में हुए बदलाव देखें (Ifac7d)
  • हमने PositionIndicator (Idf875) के लिए, माइक्रोबेंचमार्क टेस्ट जोड़े हैं

वर्शन 1.3.0-alpha06

20 सितंबर, 2023

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

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

  • हमने SwipeToReveal के साथ Modifier.edgeSwipeToDismiss के काम करने की सुविधा जोड़ी है. (I95774, b/293444286)
  • हमने मटीरियल SwipeToRevealChip और SwipeToRevealCard के लिए सैंपल जोड़े हैं. (Ieb974)
  • हमने Wear Compose Foundation और Material लाइब्रेरी के लिए, बेसलाइन प्रोफ़ाइलें अपडेट की हैं. (I1dd1f)

वर्शन 1.3.0-alpha05

6 सितंबर, 2023

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

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

  • हमने 'स्वाइप करके दिखाएं' सुविधा में हैंडलिंग की सुविधा जोड़ी है, ताकि एक बार में सिर्फ़ एक आइटम को स्वाइप किया जा सके. (I3cd7a)
  • ScalingLazyColumnDefaults के दस्तावेज़ को बेहतर बनाया गया है, ताकि यह इसके असल व्यवहार से ज़्यादा मेल खाए. (I886d3)

वर्शन 1.3.0-alpha04

23 अगस्त, 2023

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

नई सुविधाएं

  • हमने SwipeToReveal की दूसरी कार्रवाई के लिए, पहले जैसा करने की सुविधा जोड़ी है. (I7a22d)

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

  • Wear Material3 लाइब्रेरी में HorizontalPageIndicator जोड़ें. (Ifee99)
  • androidx.wear.tooling.preview लाइब्रेरी का इस्तेमाल करने के लिए, Wear Compose की झलक दिखाने वाले टूल को अपडेट किया गया है. (Ib036e)

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

  • गोल बटन में मौजूद गड़बड़ी को ठीक किया गया है. इसमें मॉडिफ़ायर को सही तरीके से चेन नहीं किया गया था. (I5e162)

वर्शन 1.3.0-alpha03

9 अगस्त, 2023

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

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

  • हमने Material में दो नए कंपोज़ेबल जोड़े हैं. इनकी मदद से, कार्ड और चिप के साथ SwipeToReveal को लागू किया जा सकता है. ये कंपोज़ेबल, कॉम्पोनेंट के लिए सुझाए गए UX दिशा-निर्देशों का पालन करते हैं. साथ ही, इससे डेवलपर के लिए Wear Material में मौजूद कॉम्पोनेंट के साथ SwipeToReveal को लागू करना आसान हो जाता है. (I7ec65)
  • हमने एपीआई की शर्तों के तौर पर FloatRange एनोटेशन चालू कर दिए हैं. इनके बारे में पहले टिप्पणियों में बताया गया था. (Icb401)

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

  • हमने ScalingLazyColumn के शुरुआती स्क्रोलिंग लॉजिक को onGloballyPositioned() में शामिल कर दिया है. (Ic90f1)
  • हम स्ट्रोक के बंटवारे को ऑप्टिमाइज़ करने के लिए, अब drawWithCache का इस्तेमाल PositionIndicator, ProgressIndicator, और SelectionControls में कर रहे हैं. (I5f225, b/288234617)
  • हमने बंद की गई स्थितियों में, चेकबॉक्स पर सही का निशान दिखने की समस्या को ठीक कर दिया है. (Ib25bf)
  • हमने Placeholder को अपडेट कर दिया है, ताकि कॉन्टेंट तैयार न होने पर उसे रीसेट किया जा सके और प्लेसहोल्डर दिखाया जा सके. (Ibd820)
  • हमने फ़्लेकी Placeholder टेस्ट (Idb560) से जुड़ी कुछ समस्याओं को ठीक किया है

वर्शन 1.3.0-alpha02

26 जुलाई, 2023

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

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

  • हमने ExpandableStateMapping उपलब्ध कराया है. यह ExpandableStates जनरेट करने का नया तरीका है. इसका इस्तेमाल उन मामलों में किया जाता है जिनमें ExpandableStates को मांग पर बनाया जाना होता है. यह ज़रूरी नहीं है कि इन्हें @Composable स्कोप (Iff9e0) के अंदर बनाया जाए
  • SwipeToDismissBox को androidx.wear.compose.material से androidx.wear.compose.foundation पैकेज में माइग्रेट कर दिया गया है. (I275fb)
  • संगतता को दबाने के लिए, एपीआई फ़ाइलों को अपडेट किया गया. (I8e87a, b/287516207)
  • हमने Chip, CompactChip, और ToggleChip के लिए ऊंचाई के कॉन्स्टेंट को सार्वजनिक कर दिया है (Idbfde)
  • हमने Chip और CompactChip के लिए हॉरिज़ॉन्टल और वर्टिकल पैडिंग को सार्वजनिक कर दिया है. (Ieeaf7)
  • SwipeDismissableNavHost में स्वाइप करने की सुविधा को बंद करने के लिए, नई सुविधा जोड़ी गई है. इसके लिए, userSwipeEnabled पैरामीटर का इस्तेमाल करें. (Id2a0b, b/230865655)
  • हमने Wear Compose Navigation लाइब्रेरी को अपडेट किया है, ताकि Wear Compose Foundation से मिले नए SwipeToDismissBox का इस्तेमाल किया जा सके. (I4ff8e)

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

  • हमने z-ऑर्डर से जुड़ी एक गड़बड़ी को ठीक किया है. इस गड़बड़ी में, बटन मौजूद होने पर, बटन के व्यवहार पर क्लिक करने के बाद expandedItem सही कॉन्टेंट नहीं दिखाता था. (I1899d, b/289991514)
  • HierarchicalFocusCoordinator (I45362, b/277852486) का इस्तेमाल करके, SwipeToDismissBox (और इसलिए SwipeDismissableNavHost) के फ़ोकस को बेहतर तरीके से मैनेज करना
  • हमने SwipeableV2 में जेस्चर हैंडलिंग की समस्या को ठीक कर दिया है . (I89737)
  • हमने 1.2 रिलीज़ के लिए, बेसलाइन प्रोफ़ाइलें तय कर ली हैं. (Id5740)
  • SwipeToDismissBox को Foundation में माइग्रेट करने के बाद, Material SwipeToDismissBox का इस्तेमाल करने पर अब Foundation पर रीडायरेक्ट किया जाता है. साथ ही, यह अपनी थीम से डिफ़ॉल्ट रंग की वैल्यू उपलब्ध कराता है.(If8451)
  • हमने ListHeader में हेडिंग सिमैंटिक्स जोड़े हैं. (Ic5420)
  • अब Chip और ToggleChip, सुलभता के लिए बड़े फ़ॉन्ट की वजह से बढ़े हुए कॉन्टेंट को दिखाने के लिए, ज़रूरत पड़ने पर अपनी ऊंचाई को अडजस्ट करेंगे. (Iaf302)
  • सुलभता के लिए, SplitToggleChip के टैप किए जा सकने वाले हिस्से की सिमैंटिक भूमिका में मौजूद गड़बड़ी को ठीक किया गया है. (Ieed3a)
  • 'मोशन कम करें' सेटिंग अब प्लेसहोल्डर पर, चमकने वाले इफ़ेक्ट और वाइप-ऑफ़ मोशन को बंद कर देती है. (I91046)
  • Stepper और InlineSlider में अब देर तक दबाकर रखने पर बार-बार क्लिक करने की सुविधा काम करती है. इससे, + या - बटन को दबाकर Stepper और InlineSlider की वैल्यू को तुरंत बढ़ाया/घटाया जा सकता है. (I27359)

वर्शन 1.3.0-alpha01

21 जून, 2023

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

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

  • 1.2.0-alpha07 और 1.2.0-alpha10 में बताए गए बदलाव के मुताबिक, हम अब DefaultTextStyle को बदल रहे हैं, ताकि फ़ॉन्ट पैडिंग को बंद किया जा सके. इससे Android प्लैटफ़ॉर्म पर एक जैसा अनुभव मिलेगा. इससे बड़े फ़ॉन्ट साइज़ वाले टेक्स्ट के कुछ मामलों में, टेक्स्ट के कटने की समस्या ठीक हो जाएगी. इससे स्क्रीन लेआउट पर भी असर पड़ सकता है. इसलिए, स्क्रीनशॉट टेस्ट को अपडेट करना होगा. उदाहरण के लिए, हमें यहां टेक्स्ट क्लिप किया हुआ दिखता है (Ic6a86)
फ़ॉन्ट का साइज़ बड़ा होने की वजह से टेक्स्ट कट गया है
पहली इमेज: टेक्स्ट काटा गया है.
  • फ़ॉन्ट पैडिंग बंद होने पर, यह मौजूद नहीं होता:
बड़े फ़ॉन्ट साइज़ में टेक्स्ट का कुछ हिस्सा न दिखना
दूसरी इमेज: टेक्स्ट काटा नहीं गया है.
  • हमने wear.compose.foundation को wear.compose.material (I72004, b/285404743) की एपीआई डिपेंडेंसी के तौर पर अपडेट किया है
  • हमने SwipeToDismissBox की गड़बड़ी ठीक कर दी है. बैकग्राउंड और कॉन्टेंट की कुंजियों को अब remember ब्लॉक में पास किया जाता है, ताकि कॉन्टेंट या बैकग्राउंड में बदलाव होने पर नए मॉडिफ़ायर बनाए जा सकें. (Ib876c, b/280392104)
  • हमने TimeText को अपडेट किया है, ताकि 12 या 24 घंटे के समय के लिए फ़ॉर्मैट चुनते समय, स्थानीय भाषा का इस्तेमाल किया जा सके. (If4a3d)
  • हमने SwipeToDismissBox contentScrimColor के डिफ़ॉल्ट पैरामीटर में मौजूद गड़बड़ी को ठीक कर दिया है. (I2d70f)
  • हमने SwipeToReveal में मोशन हैंडलिंग को बेहतर बनाया है. (I28fb7)

ऐसी समस्याएं जिनके बारे में जानकारी पहले से है

  • उपयोगकर्ता के कॉन्फ़िगर किए गए फ़ॉन्ट साइज़ के साथ काम करना, ऐक्सेसिबिलिटी से जुड़ी ज़रूरी शर्त है. हमें पता है कि बड़े फ़ॉन्ट साइज़ के साथ दिखाने पर, एक से ज़्यादा लाइन वाले चिप में टेक्स्ट क्लिप हो सकता है. इसलिए, हम चिप को 1.3 के शुरुआती ऐल्फ़ा वर्शन में अपडेट करेंगे, ताकि ऐसे मामलों में ऊंचाई को अडजस्ट किया जा सके.

वर्शन 1.2

वर्शन 1.2.1

18 अक्टूबर, 2023

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

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

  • PositionIndicator के गलत तरीके से गायब होने की गड़बड़ी को ठीक किया गया. (7a167f)

वर्शन 1.2.0

9 अगस्त, 2023

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

1.1.0 के बाद हुए अहम बदलाव

  • Compose for Wear OS 1.2.0 का स्टेबल वर्शन रिलीज़ किया गया (ज़्यादा जानें)
  • Wear Compose 1.2 में हुए मुख्य बदलावों की सूची देखने के लिए, (Compose for Wear OS 1.2 Beta01) के रिलीज़ नोट देखें

वर्शन 1.2.0-rc01

26 जुलाई, 2023

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

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

  • हमने 1.2 वर्शन (Id5740) के लिए बेसलाइन प्रोफ़ाइलें तय कर ली हैं

वर्शन 1.2.0-beta02

7 जून, 2023

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

नई सुविधाएं

  • हमने एक्सपेरिमेंट के तौर पर उपलब्ध नया LocalReduceMotion CompositionLocal वैरिएबल जोड़ा है. इससे ScalingLazyColumn पर स्केलिंग और फ़ेडिंग की सुविधा बंद हो जाती है. (I58024)

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

  • हमने Wear Compose Foundation और Material Libraries के लिए, बेसलाइन प्रोफ़ाइलें अपडेट की हैं(I4725d)
  • हमने SwipeToDismissBox contentScrimColor पैरामीटर (I2d70f) की डिफ़ॉल्ट वैल्यू में मौजूद गड़बड़ी को ठीक कर दिया है
  • हमने DefaultTextStyle सेटिंग (I737ed) के लिए इस्तेमाल की गई DefaultTextStyle डिफ़ॉल्ट वैल्यू को ठीक कर दिया हैIncludeFontPadding

वर्शन 1.2.0-beta01

24 मई, 2023

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

Compose for Wear OS 1.2 में क्या नया है

Compose for Wear OS के 1.2-beta01 वर्शन से पता चलता है कि लाइब्रेरी का यह वर्शन, सभी सुविधाओं के साथ उपलब्ध है. साथ ही, एपीआई लॉक है. हालांकि, जहां एक्सपेरिमेंट के तौर पर मार्क किया गया है वहां एपीआई लॉक नहीं है. Wear Compose 1.2 में ये नई सुविधाएं शामिल हैं:

  • expandableItem और expandableItems, दो नए Foundation कॉम्पोनेंट हैं. ये ScalingLazyColumn में मौजूद आइटम को बड़ा करने की सुविधा देते हैं. एक ही आइटम को बड़ा करके दिखाने के लिए expandableItem का इस्तेमाल करें. जैसे, ऐसा टेक्स्ट जिसमें लाइनों की संख्या. एक्सपैंड किए जा सकने वाले आइटम के ग्रुप के लिए expandableItems का इस्तेमाल करें. साथ ही, ऐसे बटन को आसानी से बनाने के लिए expandableButton का इस्तेमाल करें जो कॉन्टेंट के एक्सपैंड होने के बाद छोटा हो जाता है.
  • HierarchicalFocusCoordinator - एक्सपेरिमेंट के तौर पर उपलब्ध इस कंपोज़ेबल की मदद से, कंपोज़िशन के सब-ट्री को फ़ोकस चालू या फ़ोकस बंद के तौर पर मार्क किया जा सकता है.
  • Picker - एपीआई में अब userScrollEnabled शामिल है. इससे यह कंट्रोल किया जा सकता है कि उपयोगकर्ता के स्क्रोल करने पर, पिकर चालू है या नहीं.
  • PickerGroup - एक नया कंपोज़ेबल, जो एक साथ कई पिकर को हैंडल करता है. यह कुकी, HierarchicalFocusCoordinator API का इस्तेमाल करके पिकर के बीच फ़ोकस को मैनेज करती है. साथ ही, पिकर आइटम को अपने-आप बीच में लाने की सुविधा चालू करती है.
  • Placeholder - हमने शिमर और ‘वाइप ऑफ़’ ऐनिमेशन में अपडेट किए हैं. कॉन्टेंट तैयार होने पर, मिटाने वाला इफ़ेक्ट तुरंत लागू हो जाता है.
  • ScalingLazyColumn - हमने ScalingLazyColumn और उससे जुड़ी क्लास को androidx.wear.compose.material.ScalingLazyColumn से androidx.wear.compose.foundation.lazy.ScalingLazyColumn पर माइग्रेट कर दिया है. Foundation.Lazy वर्शन का इस्तेमाल करने के लिए, कृपया अपडेट करें.
  • SwipeToReveal - हमने स्वाइप करके दिखाने की सुविधा को एक्सपेरिमेंट के तौर पर जोड़ा है. इससे, दूसरी कार्रवाइयों को ऐक्सेस किया जा सकता है. यह सुविधा, ‘दबाकर रखें’ वाले मौजूदा पैटर्न के साथ काम करती है.
  • Stepper - अब इसमें एक अतिरिक्त enableRangeSemantics पैरामीटर के साथ ओवरलोड है, ताकि डिफ़ॉल्ट रेंज सिमैंटिक्स को बंद किया जा सके.
  • Previews - हमने Wear की स्क्रीन पर कंपोज़ेबल की झलक देखने के लिए, कस्टम एनोटेशन जोड़े हैं: WearPreviewSmallRound छोटे, गोल डिवाइस पर कंपोज़ेबल की झलक दिखाता है; WearPreviewLargeRound बड़े, गोल डिवाइस पर कंपोज़ेबल की झलक दिखाता है; WearPreviewSquare स्क्वेयर डिवाइस पर कंपोज़ेबल की झलक दिखाता है. इसके अलावा, फ़ॉलो करने और एक से ज़्यादा झलक दिखाने वाले एनोटेशन: WearPreviewFontScales से, अलग-अलग फ़ॉन्ट साइज़ वाले Wear डिवाइस पर कंपोज़ेबल की झलक दिखती है. वहीं, WearPreviewDevices से अलग-अलग Wear डिवाइसों पर कंपोज़ेबल की झलक दिखती है.
  • हमने Wear Compose में DefaultTextStyle जोड़ा है. इससे PlatformTextStyle.includeFontPadding प्रॉपर्टी की वैल्यू डिफ़ॉल्ट रूप से true पर सेट हो जाती है. यह मौजूदा सेटिंग है. इससे हम फ़ॉन्ट पैडिंग को डिफ़ॉल्ट रूप से बंद करने की सुविधा को, Compose लाइब्रेरी के 1.3 ऐल्फ़ा वर्शन के साथ सिंक कर पाएंगे. ज़्यादा जानकारी के लिए, 1.2.0-alpha10 देखें.

नई सुविधाएं

  • हमने reduce_motion सेटिंग चालू होने पर, डिसैबल की गई स्केलिंग और फ़ेडिंग ऐनिमेशन के लिए एक्सपेरिमेंटल सपोर्ट जोड़ी है. (I58024)

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

  • CurvedSize.kt (Iab75c) में angularWidthDp के लिए बेहतर दस्तावेज़
  • SwipeDismissableNavHost अब खाली बैकस्टैक की संभावित वजहों के साथ चेतावनी लॉग करता है. ऐसा इसलिए किया जाता है, ताकि IllegalArgumentException की वजह से होने वाली अनचाही क्रैश की समस्या को रोका जा सके. यह समस्या तब होती है, जब बैकस्टैक खाली होता है. (I04a81, b/277700155)

वर्शन 1.2.0-alpha10

10 मई, 2023

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

नई सुविधाएं

  • हमने स्वाइप करके दिखाने की सुविधा जोड़ी है, ताकि दूसरी कार्रवाइयों को ऐक्सेस किया जा सके. यह पैटर्न, ‘लंबे समय तक दबाकर रखें’ पैटर्न के साथ काम करता है. यह एक ऐसा तरीका है जिससे उपयोगकर्ता, सेकंडरी कार्रवाइयों को दिखा सकता है. (I60862)

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

  • हमने SwipeToReveal में ऐक्शन कंपोज़ेबल में RevealScope जोड़ा है. इससे उस ऑफ़सेट को ऐक्सेस किया जा सकता है जिस पर अन्य कार्रवाइयां दिखती हैं. (I3fd56)

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

  • फ़्लिंग के बाद, ScalingLazyColumn के Wear API 33 पर अटके रहने की समस्या ठीक की गई (Ic4599)
  • हमने PositionIndicator की परफ़ॉर्मेंस में कुछ सुधार किए हैं, ताकि जंक कम हो सके. (I35e92)
  • हमने चिप और CompactChip में मौजूद एक गड़बड़ी को ठीक किया है. इस गड़बड़ी की वजह से, सिमैंटिक रोल को अब Role.Button पर सेट नहीं किया जा रहा था. (I93f91, b/277326264)

ऐसी समस्याएं जिनके बारे में जानकारी पहले से है

  • हमें Android Studio में एक बग का पता चला है. इसकी वजह से, @WearPreviewDevices और @WearPreviewFontScales के साथ एनोटेट किए जाने पर, झलक रेंडर नहीं हो पाती है. इसे ठीक करने के लिए, जल्द ही एक अपडेट जारी किया जाएगा. कृपया ध्यान दें कि Wear डिवाइसों पर झलक देखने से जुड़े अन्य एनोटेशन, Android Studio Giraffe 2022.3.1 और इसके बाद के वर्शन में ठीक से काम करते हैं.

  • हमने Wear Compose में DefaultTextStyle को 1.2.0-alpha07 वर्शन में जोड़ा है. इसमें, PlatformTextStyle.includeFontPadding की मौजूदा वैल्यू को true के तौर पर बनाए रखा गया है. बैकग्राउंड के लिए, Compose में फ़ॉन्ट पैडिंग ठीक करना लेख पढ़ें. हम Android प्लैटफ़ॉर्म पर एक जैसा अनुभव देने के लिए, 1.3 के शुरुआती ऐल्फ़ा वर्शन में DefaultTextStyle को बदल देंगे, ताकि फ़ॉन्ट पैडिंग को बंद किया जा सके. इससे बड़े फ़ॉन्ट साइज़ वाले टेक्स्ट के कुछ मामलों में, टेक्स्ट के कटने की समस्या ठीक हो जाएगी. इससे स्क्रीन लेआउट पर भी असर पड़ सकता है. इसलिए, स्क्रीनशॉट टेस्ट को अपडेट करना होगा. उदाहरण के लिए, बड़े फ़ॉन्ट साइज़ के साथ हमें यहां टेक्स्ट क्लिप होता हुआ दिखता है:

फ़ॉन्ट का साइज़ बड़ा होने की वजह से टेक्स्ट कट गया है
पहली इमेज: टेक्स्ट काटा गया है.
  • फ़ॉन्ट पैडिंग बंद होने पर, यह मौजूद नहीं होता:
बड़े फ़ॉन्ट साइज़ में टेक्स्ट का कुछ हिस्सा न दिखना
दूसरी इमेज: टेक्स्ट काटा नहीं गया है.

नई सेटिंग को अब अपनी थीम में टाइपोग्राफ़ी को बदलकर अपनाया जा सकता है. इसके लिए, उदाहरण कोड देखें.

वर्शन 1.2.0-alpha09

19 अप्रैल, 2023

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

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

  • डीपी में ऐंगलर चौड़ाई सेट करने के लिए, CurvedModifier एपीआई में angularSizeDp जोड़ें (I89a52)

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

  • हमने टाइम पिकर के डेमो(Id0eb7) में ऐक्सेसिबिलिटी से जुड़ी समस्याएं ठीक कर दी हैं

वर्शन 1.2.0-alpha08

5 अप्रैल, 2023

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

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

  • हमने ExpandableItemsState का नाम बदलकर ExpandableState कर दिया है. (If85ea)
  • हमने expandableButton जोड़ा है, ताकि कॉन्टेंट बड़ा होने पर बटन को छोटा करना आसान हो जाए. साथ ही, हमने बड़े किए जा सकने वाले कॉन्टेंट के उदाहरणों को भी अपडेट किया है. (Iae309)

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

  • ज़्यादा संभावनाएं दिखाने के लिए, बेहतर तरीके से बड़े किए जा सकने वाले सैंपल. expandableItem के ऐनिमेशन में बदलाव किया गया है, ताकि ऐनिमेशन के दौरान इसका कॉन्टेंट बीच में बना रहे. (I2f637)
  • स्टेट का इस्तेमाल करके, मैन्युअल तरीके से रंगों को ऐनिमेट करते समय, ज़रूरत से ज़्यादा रीकंपोज़िशन से बचने के लिए, ToggleControls को अपडेट किया गया. (I5d319)

वर्शन 1.2.0-alpha07

22 मार्च, 2023

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

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

  • हमने Expandable Item कॉम्पोनेंट (1.2.0-alpha06 में जोड़े गए) को मटीरियल से फ़ाउंडेशन में ले जाया है, क्योंकि इनका MaterialTheme से कोई मतलब नहीं था. (Ib0525)

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

  • हमने PickerGroup का इस्तेमाल करने वाली स्क्रीन में होने वाली क्रैश की समस्या को ठीक कर दिया है. इसके लिए, हमने यह पक्का किया है कि जब किसी Picker पर फ़ोकस न हो, तब PickerGroup फ़ोकस को सही तरीके से हैंडल करे. हमने पिकर के डेमो में आरएसबी स्क्रोलिंग की सुविधा भी जोड़ी है. (If8c19)
  • हमने डायलॉग ट्रांज़िशन को बेहतर बनाया है. अब इंट्रो ट्रांज़िशन, आउटरो ट्रांज़िशन से ज़्यादा मैच करता है. (Ib5af9)
  • हमने Wear Compose में DefaultTextStyle जोड़ा है. इससे PlatformTextStyle.includeFontPadding प्रॉपर्टी की वैल्यू डिफ़ॉल्ट रूप से true पर सेट हो जाती है. यह मौजूदा सेटिंग है. इससे हमें आने वाले समय में, फ़ॉन्ट पैडिंग को डिफ़ॉल्ट रूप से बंद करने की सुविधा को Compose लाइब्रेरी के साथ सिंक करने में मदद मिलेगी. बैकग्राउंड के लिए, (Compose में फ़ॉन्ट पैडिंग ठीक करना) देखें. (I2aee8)
  • गतिविधि-कंपोज़ के ज़रिए UpsideDownCake की झलक दिखाने की सुविधा को वापस लाया गया है. इससे Google Play Store पर ऐप्लिकेशन पब्लिश करने में आने वाली समस्या ठीक हो गई है. (I6443d)

वर्शन 1.2.0-alpha06

8 मार्च, 2023

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

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

  • CurvedBox कॉम्पोनेंट जोड़ें. यह कॉम्पोनेंट, घुमावदार दुनिया में कॉम्पोनेंट को एक-दूसरे के ऊपर रखता है. (I29200)
  • बड़ा किए जा सकने वाले आइटम जोड़े गए - दो नए कॉम्पोनेंट जोड़े गए हैं. इनकी मदद से, ScalingLazyColumn में बड़ा किए जा सकने वाले आइटम के ग्रुप या बड़ा किए जा सकने वाले सिंगल आइटम को दिखाया जा सकता है. जैसे, ऐसा टेक्स्ट जिसमें लाइनों की संख्या बढ़ जाती है. (I95dd5)
  • हमने Wear की स्क्रीन पर कंपोज़ेबल की झलक देखने के लिए, ये कस्टम एनोटेशन जोड़े हैं: WearPreviewSmallRound छोटे, गोल डिवाइस पर कंपोज़ेबल की झलक दिखाता है; WearPreviewLargeRound बड़े, गोल डिवाइस पर कंपोज़ेबल की झलक दिखाता है; WearPreviewSquare स्क्वेयर डिवाइस पर कंपोज़ेबल की झलक दिखाता है. इसके अलावा, फ़ॉलो करने और एक से ज़्यादा झलक दिखाने वाले एनोटेशन: WearPreviewFontScales से, अलग-अलग फ़ॉन्ट साइज़ वाले Wear डिवाइस पर कंपोज़ेबल की झलक दिखती है. वहीं, WearPreviewDevices से अलग-अलग Wear डिवाइसों पर कंपोज़ेबल की झलक दिखती है. इन पूर्वावलोकन का इस्तेमाल करने के लिए, आपको Android Studio (Giraffe Canary 6) या इसके बाद का वर्शन इस्तेमाल करना होगा. कृपया ध्यान दें कि अगर ये एनोटेशन आपके काम के नहीं हैं, तो Preview का इस्तेमाल किया जा सकता है. साथ ही, पैरामीटर के ज़रिए इसे और ज़्यादा पसंद के मुताबिक बनाया जा सकता है. (I397ff)
  • हमने HierarchicalFocusCoordinator को एक्सपेरिमेंट के तौर पर मार्क किया है. हालांकि, इसे Compose की मुख्य लाइब्रेरी में शामिल किया जा सकता है, क्योंकि इसका इस्तेमाल कई तरह से किया जा सकता है. (I3a768)

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

  • HierarchicalFocusCoordinator में मौजूद गड़बड़ी को ठीक किया गया है. अब focusEnabled पैरामीटर के लिए पास किए गए लैम्ब्डा में बदलाव होने पर, हम नए लैम्ब्डा का सही तरीके से इस्तेमाल करते हैं. (Icb353)
  • हमने Button, CompactButton, Chip, CompactChip, और ToggleButton में बैकग्राउंड के तौर पर प्राइमरी रंगों का इस्तेमाल करते समय, डिफ़ॉल्ट रूप से बंद किए गए कॉन्टेंट के रंग को बैकग्राउंड के तौर पर अपडेट कर दिया है. इससे ऐक्सेसिबिलिटी के लिए कंट्रास्ट बेहतर होता है. (I527cc)

वर्शन 1.2.0-alpha05

22 फ़रवरी, 2023

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

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

  • PickerGroup एपीआई को अपडेट किया गया है, ताकि कंपोज़ेबल को ज़रूरत के हिसाब से कम से कम कंस्ट्रेंट लागू करने की अनुमति दी जा सके. इसे सही के तौर पर सेट करने पर, PickerGroup पर, पैरंट कंपोज़ेबल से पास की गई कम से कम पाबंदियों को अनुमति दी जाएगी. अगर इसे 'गलत है' के तौर पर सेट किया जाता है, तो PickerGroup कम से कम पाबंदियों को रीसेट कर देगा. (I3e046)
  • हमने Picker API में animateScrollToOption जोड़ा है, ताकि किसी खास Picker विकल्प (I6fe67) में प्रोग्राम के हिसाब से ऐनिमेशन जोड़ा जा सके

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

  • हमने HorizontalPageIndicator को अपडेट किया है, ताकि दाएं से बाएं लेआउट का इस्तेमाल किया जा सके. (Ia4359)
  • HorizontalPageIndicator में दाएं से बाएं लेआउट के लिए, स्क्रीनशॉट टेस्ट जोड़े गए (I6fbb8)
  • SwipeDismissableNavHostTest में ऐसे और टेस्ट जोड़े गए हैं जिनमें TestNavHostController का इस्तेमाल किया जाता है (I61d54)

वर्शन 1.2.0-alpha04

8 फ़रवरी, 2023

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

नई सुविधाएं

  • PickerGroup का इस्तेमाल, फ़ोकस एपीआई का इस्तेमाल करके एक साथ कई पिकर को हैंडल करने के लिए किया जाता है. यह अलग-अलग पिकर के बीच फ़ोकस को मैनेज करता है. साथ ही, पैरामीटर के आधार पर पिकर को अपने-आप बीच में लाने की सुविधा चालू करता है. इसके अलावा, यह डेवलपर को ग्रुप के इवेंट मैनेज करते समय, अलग-अलग पिकर के बीच फ़ोकस बदलने की अनुमति देता है. TalkBack मोड में, PickerGroup TalkBack के फ़ोकस को मैनेज करता है. इसके लिए, वह फ़ोकस को ग्रुप से चुने गए Picker पर ले जाता है. (I60840)

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

  • हमने Stepper में एक और enableRangeSemantics पैरामीटर जोड़ा है, ताकि डिफ़ॉल्ट रेंज सिमैंटिक्स (Ia61d4) को बंद किया जा सके

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

  • हॉरिज़ॉन्टल स्क्रोलिंग वाले पेज (Iec3f8, b/266555016) में ScalingLazyColumn को नेस्ट करने की अनुमति दें
  • Stepper kdocs और StepperTest टेस्ट को बेहतर बनाया गया है. (Ic118e)
  • androidx.navigation डिपेंडेंसी को वर्शन 2.5.3 (If58ed) पर अपडेट किया गया

वर्शन 1.2.0-alpha03

25 जनवरी, 2023

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

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

  • हमने ScalingLazyColumn (और इससे जुड़ी क्लास) को androidx.wear.compose.material.ScalingLazyColumn से andrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn पर माइग्रेट कर दिया है. माइग्रेशन के बारे में जानने के लिए, यह उदाहरण देखें. यह नई जगह, compose.foundation.lazy.LazyColumn की जगह से ज़्यादा मिलती-जुलती है. साथ ही, यह ज़्यादा नैचुरल है, क्योंकि यह किसी राय पर आधारित Material कॉम्पोनेंट नहीं है. यह बदलाव, नई Material3 लाइब्रेरी के लिए किया जा रहा है. हम मौजूदा Material लाइब्रेरी के साथ-साथ इस नई लाइब्रेरी पर भी काम करेंगे. (I060e7)

ScalingLazyColumn को Material से Foundation.Lazy पर माइग्रेट करने के दौरान, ये बदलाव किए गए हैं:

  • Material ScalingLazyColumn को टारगेट करने वाले PositionIndicator एपीआई अब काम नहीं करेंगे. कृपया Foundation.Lazy ScalingLazyColumn पर अपडेट करें. इसके अलावा, ScalingLazyListLayoutInfo में anchorType फ़ील्ड जोड़ा गया. (I29d95)
  • ScalingLazyColumn को Wear Compose Material पैकेज (I16d34) में डेप्रिकेट के तौर पर मार्क किया गया है
  • हमने ScrollAway मॉडिफ़ायर को अपडेट किया है, ताकि Wear Compose Foundation.Lazy से ScalingLazyListState का इस्तेमाल किया जा सके. साथ ही, हमने Wear Compose Material से ScalingLazyListState लेने वाले ओवरलोड को बंद कर दिया है. (Ifc42c)
  • हमने Dialog API को अपडेट किया है, ताकि वे Foundation.Lazy से ScalingLazyListState का इस्तेमाल कर सकें. साथ ही, हमने उन ओवरलोड को बंद कर दिया है जो Material ScalingLazyListState (Ic8960) का इस्तेमाल करते थे
  • हमने Picker API को अपडेट किया है, ताकि वे ScalingParams के बजाय Foundation.Lazy का इस्तेमाल कर सकें. साथ ही, हमने उन ओवरलोड को बंद कर दिया है जो Material ScalingParams का इस्तेमाल करते थे. (Idc3d8)

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

  • हमने एक गड़बड़ी को ठीक किया है. इसकी वजह से, ScalingLazyListState.centerItemIndex में ज़रूरत से ज़्यादा बार रीकंपोज़िशन होता था. हमने यह पक्का किया है कि यह सिर्फ़ तब अपडेट पुश करे, जब वैल्यू में बदलाव हुआ हो (Ia9f38)
  • हमने SwipeToDismissBox (I3933b) की परफ़ॉर्मेंस को बेहतर बनाया है
  • Wear Compose Foundation (Ie00f9) में ScalingLazyColumn के लिए बेंचमार्क टेस्ट जोड़े गए
  • हमने Material में कुछ इंटरनल ScalingLazyColumn क्लास के तरीकों को अपडेट किया है, ताकि Foundation.Lazy (I38aab) से उनके इक्विवेलेंट का इस्तेमाल किया जा सके
  • हमने पिकर टेस्ट से जुड़ी कुछ समस्याएं ठीक की हैं. साथ ही, ऑफ़सेट के साथ स्क्रोल करने की सुविधा (I6ac34) की जांच करने के लिए, ज़्यादा टेस्ट जोड़े हैं
  • हमने ScalingLazyColumn इंटिग्रेशन डेमो को Material ScalingLazyColumn (Ic6caa) के बजाय Foundation.Lazy पर निर्भर रहने के लिए माइग्रेट किया है
  • हमने अपने DatePicker डेमो (I961cd) में, fromDate/toDate पैरामीटर जोड़े हैं. हालांकि, इन्हें जोड़ना ज़रूरी नहीं है

वर्शन 1.2.0-alpha02

11 जनवरी, 2023

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

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

  • Android Compose यूज़र इंटरफ़ेस (यूआई) टेस्ट अब हर फ़्रेम के लिए लेआउट पास चलाएंगे.ऐसा तब होगा, जब फ़्रेम को आइडल स्टेट में ले जाया जाएगा. उदाहरण के लिए, waitForIdle के ज़रिए. इससे उन टेस्ट पर असर पड़ सकता है जो लेआउट ऐनिमेशन के अलग-अलग फ़्रेम पर दावा करते हैं. (I8ea08, b/222093277)
  • BasicText के साथ एक जैसा व्यवहार करने के लिए, Wear Text में minLines पैरामीटर जोड़ा गया है (I24874)
  • CompactChipTapTargetPadding को सार्वजनिक कर दिया गया है, ताकि यह दस्तावेज़ (If1e70, b/234119038) में दिखे

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

  • wear.compose पैकेज के लिए, मल्टीप्लैटफ़ॉर्म बिल्ड बंद करें (Iad3d7)
  • scrollToOption के लिए kdocs ठीक करें (I6f9a0)
  • PlaceholderState.rememberPlaceholderState() को अपडेट किया गया है, ताकि rememberUpdatedState का इस्तेमाल किया जा सके. इससे onContentReady लैम्डा फ़ंक्शन के अपडेट होने पर, स्थिति अपडेट हो जाएगी. (I02635, b/260343754)
  • हमने Picker कॉम्पोनेंट में टेक्स्ट के हिलने की समस्या को ठीक कर दिया है. इसके लिए, हमने Modifier.graphicsLayer में जोड़ी गई नई कंपोज़िटिंग रणनीति का इस्तेमाल किया है. (I99302)
  • हमने एक गड़बड़ी ठीक की है. इसकी वजह से, हमारे DatePicker डेमो (I660bd) में फ़्लिकरिंग हो रही थी
  • हमने 12 घंटे के समय और तारीख चुनने वाले टूल के डेमो (I05e12) को ज़्यादा सुलभ बना दिया है
  • हमने तारीख और समय चुनने की सुविधा के डेमो अपडेट किए हैं, ताकि जब पिकर को चुना न जाए, तब आरएसबी में हुए बदलावों का उन पर असर न पड़े (I4aecb)

वर्शन 1.2.0-alpha01

7 दिसंबर, 2022

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

नई सुविधाएं

  • हमने प्लेसहोल्डर की एक्सपेरिमेंटल सुविधा को अपडेट किया है. इससे कॉन्टेंट तैयार होने पर, “मिटाएं” इफ़ेक्ट तुरंत लागू हो जाता है. इसके लिए, अगले ऐनिमेशन लूप के शुरू होने का इंतज़ार नहीं करना पड़ता. हमने शिमर और वाइप ऑफ़ ऐनिमेशन में भी कुछ बदलाव किए हैं. (I5a7f4)

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

  • हमने एक HierarchicalFocusCoordinatorcomposable जोड़ा है. इससे कंपोज़िशन के सब-ट्री को फ़ोकस चालू या फ़ोकस बंद के तौर पर मार्क किया जा सकता है.(I827cb)
  • हमने ToggleButton के लिए, सिमैंटिक रोल को ओवरराइड करने वाली एक नई प्रॉपर्टी जोड़ी है.(I67132)
  • हमने TimeTextDefaults.TimeFormat12Hours को अपडेट किया है, ताकि TimeText में AM/PM न दिखे. इससे TimeText एपीआई में timeSource पैरामीटर की डिफ़ॉल्ट वैल्यू बदल जाएगी. (I1eb7f)
  • हमने Picker API को बेहतर बनाया है, ताकि मल्टी-पिकर वाली स्क्रीन पर इसे आसानी से इस्तेमाल किया जा सके. एक नई प्रॉपर्टी userScrollEnabled जोड़ी गई है. इससे यह कंट्रोल किया जा सकता है कि उपयोगकर्ता के स्क्रोल करने पर, पिकर चालू है या नहीं. (I3c3aa)

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

  • हमने फ़ाइनल यूएक्स स्पेसिफ़िकेशन से मेल खाने के लिए, OutlinedButton/OutlinedCompactButton के लिए डिफ़ॉल्ट बॉर्डर की चौड़ाई को 2.dp से बदलकर 1.dp कर दिया है. (Icf84d)
  • खाली ScalingLazyColumn में जोड़े गए पहले आइटम के दिखने के समय को कम करने के लिए, हमने अनुमानित autoCentering topPadding समय जोड़ा है. यह समय तब जोड़ा जाता है, जब कॉन्टेंट खाली हो. इस बदलाव में, 0.dp की ऊंचाई वाले शुरुआती आइटम के लिए ज़रूरी टॉप पैडिंग की रकम का हिसाब लगाया जाता है. ScalingLazyListAnchorType.ItemStart के लिए, इससे टॉप पैडिंग का सही हिसाब लगाया जाएगा. ScalingLazyListAnchorType.ItemCenter के लिए, यह हिसाब गलत होगा, क्योंकि कॉन्टेंट का सही साइज़ तय करने के लिए आइटम की ऊंचाई की ज़रूरत होती है. इससे आइटम की असल ऊंचाई के आधार पर, स्क्रोल करके जगह पर ले जाने का छोटा इफ़ेक्ट मिलता है.(I239a4)
  • हमने SwipeToDismiss ऐनिमेशन पर लागू होने वाले बैकग्राउंड स्क्रिम को Wear प्लैटफ़ॉर्म से मैच करने के लिए अपडेट किया है. (I9003e)
  • हमने साइज़ 0 वाले आइटम के लिए, LazyListState और ScalingLazyListState को हैंडल करने की PositionIndicator समस्या को ठीक कर दिया है, ताकि शून्य से भाग देने की गड़बड़ियों से बचा जा सके.(Ic28dd)

वर्शन 1.1

वर्शन 1.1.2

8 फ़रवरी, 2023

androidx.wear.compose:compose-foundation:1.1.2, androidx.wear.compose:compose-material:1.1.2, और androidx.wear.compose:compose-navigation:1.1.2 रिलीज़ किए गए हैं. वर्शन 1.1.2 में ये कमिट शामिल हैं.

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

  • हमने एक गड़बड़ी को ठीक किया है. इसकी वजह से, ScalingLazyListState.centerItemIndex में ज़रूरत से ज़्यादा बार रीकंपोज़िशन होता था. हमने यह पक्का किया है कि यह सिर्फ़ तब अपडेट पुश करे, जब वैल्यू में बदलाव हुआ हो (Ia9f38)

वर्शन 1.1.1

11 जनवरी, 2023

androidx.wear.compose:compose-foundation:1.1.1, androidx.wear.compose:compose-material:1.1.1, और androidx.wear.compose:compose-navigation:1.1.1 रिलीज़ किए गए हैं. वर्शन 1.1.1 में ये कमिट शामिल हैं.

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

  • PlaceholderState.rememberPlaceholderState() को अपडेट किया गया है, ताकि rememberUpdatedState का इस्तेमाल किया जा सके. इससे onContentReady लैम्डा फ़ंक्शन के अपडेट होने पर, स्थिति अपडेट हो जाएगी. (I02635, b/260343754)

वर्शन 1.1.0

7 दिसंबर, 2022

androidx.wear.compose:compose-foundation:1.1.0, androidx.wear.compose:compose-material:1.1.0, और androidx.wear.compose:compose-navigation:1.1.0 रिलीज़ किए गए हैं. वर्शन 1.1.0 में ये कमिट शामिल हैं.

1.0.0 के बाद हुए अहम बदलाव

  • Compose for Wear OS 1.1.0 का स्टेबल वर्शन रिलीज़ किया गया है (ज़्यादा जानें).
  • Wear Compose 1.1 में हुए मुख्य बदलावों की सूची देखने के लिए, (Compose for Wear OS 1.1 Beta01) के रिलीज़ नोट देखें.

नई सुविधाएं

  • हमने प्लेसहोल्डर की एक्सपेरिमेंटल सुविधा को अपडेट किया है. इससे कॉन्टेंट तैयार होने पर, “मिटाएं” इफ़ेक्ट तुरंत लागू हो जाता है. इसके लिए, अगले ऐनिमेशन लूप के शुरू होने का इंतज़ार नहीं करना पड़ता. हमने शिमर और वाइप ऑफ़ ऐनिमेशन में भी कुछ बदलाव किए हैं. (I5a7f4)

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

  • हमने फ़ाइनल यूएक्स स्पेसिफ़िकेशन से मेल खाने के लिए, OutlinedButton/OutlinedCompactButton के लिए डिफ़ॉल्ट बॉर्डर की चौड़ाई को 2.dp से बदलकर 1.dp कर दिया है. (Icf84d)
  • खाली ScalingLazyColumn में जोड़े गए पहले आइटम के दिखने के समय को कम करने के लिए, हमने अनुमानित autoCentering topPadding समय जोड़ा है. यह समय तब जोड़ा जाता है, जब कॉन्टेंट खाली हो. इस बदलाव में, 0.dp की ऊंचाई वाले शुरुआती आइटम के लिए ज़रूरी टॉप पैडिंग की रकम का हिसाब लगाया जाता है. ScalingLazyListAnchorType.ItemStart के लिए, इससे टॉप पैडिंग का सही हिसाब लगाया जाएगा. ScalingLazyListAnchorType.ItemCenter के लिए, यह हिसाब गलत होगा, क्योंकि कॉन्टेंट का सही साइज़ तय करने के लिए आइटम की ऊंचाई की ज़रूरत होती है. इससे आइटम की असल ऊंचाई के आधार पर, स्क्रोल करके जगह पर ले जाने का छोटा इफ़ेक्ट मिलता है.(I239a4)
  • हमने SwipeToDismiss ऐनिमेशन पर लागू किए गए बैकग्राउंड स्क्रिम को Wear प्लैटफ़ॉर्म से मैच करने के लिए अपडेट किया है.(I9003e)
  • हमने साइज़ 0 वाले आइटम के लिए, LazyListState और ScalingLazyListState को हैंडल करने की PositionIndicator समस्या को ठीक कर दिया है, ताकि शून्य से भाग देने की गड़बड़ियों से बचा जा सके.(Ic28dd)

वर्शन 1.1.0-rc01

9 नवंबर, 2022

androidx.wear.compose:compose-foundation:1.1.0-rc01, androidx.wear.compose:compose-material:1.1.0-rc01, और androidx.wear.compose:compose-navigation:1.1.0-rc01 रिलीज़ किए गए हैं. वर्शन 1.1.0-rc01 में ये कमिट शामिल हैं.

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

  • हमने Placeholders, ScrollAway, RadioButton, Switch, Checkbox, OutlinedButton, OutlinedCompactButton, OutlinedChip, और OutlinedCompactChip के लिए, बेसलाइन प्रोफ़ाइल के नियम जोड़े हैं. (I8249c)
  • हमने Modifier.scrollAway में मौजूद एक बग को ठीक कर दिया है. इससे अगर बताया गया itemIndex अमान्य है (उदाहरण के लिए, अगर आइटम इंडेक्स रेंज से बाहर है), तो अब भी TimeText दिखेगा. (I2137a)
  • हमने SwipeToDismissBox ऐनिमेशन को अपडेट किया है, ताकि यह प्लैटफ़ॉर्म के साथ काम कर सके. शुरुआती स्क्वीज़ ऐनिमेशन के बाद, सूचना खारिज होने पर स्क्रीन दाईं ओर स्लाइड हो जाती है. (I41d34)
  • ऑप्टिमाइज़ेशन के तौर पर, हमने Modifier.scrollAway को अपडेट किया है, ताकि वह सिर्फ़ मेज़र ब्लॉक के अंदर मौजूद scrollState को पढ़े. इससे हर बार मेज़रमेंट के बाद, मॉडिफ़ायर को फिर से कंपोज़ करने से बचा जा सकेगा. (I4c6f1)
  • हमने प्लेसहोल्डर के लिए दस्तावेज़ और एक सैंपल जोड़ा है. इससे यह पता चलेगा कि एक ही कंपोज़ेबल पर लागू होने पर, Modifier.placeholder और Modifier.placeholderShimmer को सही क्रम में कैसे दिखाया जाता है. (Ie96f4, b/256583229)
  • हमने फ़ाइनल यूएक्स स्पेसिफ़िकेशन से मेल खाने के लिए, OutlinedCompactChip/OutlinedChip के लिए डिफ़ॉल्ट बॉर्डर की चौड़ाई को 2.dp से बदलकर 1.dp कर दिया है. (Ib3d8e)
  • हमने rememberPickerState में एक गड़बड़ी ठीक की है. इसमें अपडेट किए गए इनपुट सेव नहीं होते थे. इसलिए, इनपुट में बदलाव करने के बाद कंपोज़ेबल अपडेट नहीं होते थे. (I49ff6, b/255323197)
  • हमने प्लेसहोल्डर के यूज़र इंटरफ़ेस (यूआई) में कुछ अपडेट किए हैं. जैसे, 1) शिमर ग्रेडिएंट को स्क्रीन साइज़ के 1.5 गुना पर सेट किया गया है, 2) शिमर प्रोग्रेशन में ईज़िंग (क्यूबिक बेज़ियर) जोड़ी गई है, और 3) वाइप-ऑफ़ ऐनिमेशन की स्पीड बढ़ाई गई है (250 मि॰से॰). (Id29c1)
  • हमने प्लेसहोल्डर के वाइप ऑफ़ इफ़ेक्ट में यूज़र इंटरफ़ेस (यूआई) से जुड़ी एक गड़बड़ी को ठीक किया है. इसमें कॉम्पोनेंट की पोज़िशन को ध्यान में न रखने की वजह से, चिप और कार्ड के बैकग्राउंड थोड़ा पहले मिट रहे थे. (I2c7cb)
  • हमने प्लेसहोल्डर के बैकग्राउंड को ड्रॉ करने की सुविधा को अपडेट किया है. इससे, रंगों को लेयर करने के बजाय, उन्हें मर्ज किया जा सकेगा. इससे, काटी गई अलग-अलग लेयर के ऐल्फ़ा ब्लेंडिंग का खतरा कम हो जाएगा. साथ ही, प्लेसहोल्डर के बैकग्राउंड के किनारों पर मौजूद रंगों को दिखने से रोका जा सकेगा. (I2ea26)
  • हमने ScalingLazyListState.centerItemIndex/centerItemOffset के हिसाब में सुधार किया है, ताकि अगर दो आइटम व्यूपोर्ट की सेंटर लाइन के दोनों ओर मौजूद हों, तो सबसे नज़दीकी आइटम को centerItem माना जाएगा. (I30709, b/254257769)
  • हमने ScalingLazyListState.layoutInfo.visibleItemsInfo में मौजूद एक गड़बड़ी को ठीक कर दिया है. इस गड़बड़ी की वजह से, ScalingLazyColumn शुरू होने के दौरान ऑफ़सेट की गलत जानकारी दिख रही थी. अब जब तक सूची के सभी आइटम नहीं दिख जाते और उनके ऑफ़सेट सही नहीं हो जाते, तब तक एक खाली सूची दिखाई जाएगी. ScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty() की जांच करने से यह पुष्टि हो जाएगी कि ScalingLazyColumn शुरू हो गया है और आइटम दिख रहे हैं. (I3a3b8)

वर्शन 1.1.0-beta01

24 अक्टूबर, 2022

androidx.wear.compose:compose-foundation:1.1.0-beta01, androidx.wear.compose:compose-material:1.1.0-beta01, और androidx.wear.compose:compose-navigation:1.1.0-beta01 रिलीज़ किए गए हैं. वर्शन 1.1.0-beta01 में ये कमिट शामिल हैं.

Compose for Wear OS 1.1 में क्या नया है

Compose for Wear OS के 1.1.0-beta01 वर्शन से पता चलता है कि लाइब्रेरी का यह वर्शन, सभी सुविधाओं के साथ उपलब्ध है और एपीआई लॉक है.

  • Wear Compose 1.1 रिलीज़ में ये नई सुविधाएं शामिल हैं:
    • पिकर - पिकर में सुलभता से जुड़ी सुविधाएं बेहतर बनाई गई हैं, ताकि मल्टी-पिकर स्क्रीन पर स्क्रीन रीडर की मदद से नेविगेट किया जा सके और कॉन्टेंट की जानकारी ऐक्सेस की जा सके
    • Picker contentDescription पैरामीटर का इस्तेमाल अब सिर्फ़ चुने गए Picker विकल्प के लिए किया जाता है. साथ ही, यह एक ऐसी स्ट्रिंग लेता है जिसमें शून्य वैल्यू हो सकती है. पिछले कमिट में, विकल्प से लेकर कॉन्टेंट के ब्यौरे तक की मैपिंग पास करना ज़रूरी था. हालांकि, सिर्फ़ चुने गए विकल्प का इस्तेमाल किया जाता था.
    • अब पिकर आइटम हमेशा बीच में अलाइन होते हैं. इससे उस बग को ठीक किया गया है जिसमें gradientRatio को शून्य पर सेट करने से अलाइनमेंट बदल जाता था.
    • Chip/ToggleChip - हमने Chip/ToggleChip के लिए डिफ़ॉल्ट ग्रेडिएंट अपडेट किए हैं, ताकि उन्हें उपयोगकर्ता अनुभव से जुड़ी नई खास बातों के मुताबिक बनाया जा सके. ChipDefaults.gradientBackgroundChipColors को 32.5% के बजाय 50% प्राइमरी से शुरू करने के लिए अपडेट किया गया है.
    • Chip/ToggleChip - चिप के आकार में बदलाव करने के लिए, ओवरलोड जोड़े गए
    • Chip/Button/ToggleButton - चिप और बटन के लिए, आउटलाइन वाला नया स्टाइल जोड़ा गया है. साथ ही, नए OutlinedChip और OutlinedButton कंपोज़ेबल जोड़े गए हैं. ये कंपोज़ेबल, पतले बॉर्डर वाले पारदर्शी Chip/Button उपलब्ध कराते हैं.
    • कार्ड - कार्ड के लिए डिफ़ॉल्ट ग्रेडिएंट अपडेट किए गए हैं, ताकि उन्हें यूज़र एक्सपीरियंस (यूएक्स) की नई खास बातों के मुताबिक बनाया जा सके. CardDefaults.cardBackgroundPainter को अपडेट किया गया है. अब यह प्राइमरी रंग के 30% से शुरू होकर onSurfaceVariant के 20% पर खत्म होगा. पहले यह onSurfaceVariant के 20% से 10% तक था. ToggleChip.toggleChipColors में बदलाव किया गया है. अब यह 75% सर्फ़ेस से 32.5% प्राइमरी से 0% सर्फ़ेस से 50% प्राइमरी तक के लीनियर ग्रेडिएंट में बदल गया है.
    • Button/ToggleButton - बटन के आकार में बदलाव करने के लिए प्रॉपर्टी जोड़ी गईं.
    • थीम - MaterialTheme में डिफ़ॉल्ट तौर पर मौजूद कई रंगों को अपडेट किया गया है, ताकि ऐक्सेसिबिलिटी को बेहतर बनाया जा सके. ऐसा इसलिए किया गया है, क्योंकि ओरिजनल रंगों में कंट्रास्ट काफ़ी नहीं था. इस वजह से, उपयोगकर्ताओं को चिप/कार्ड/बटन के बैकग्राउंड और थीम के बैकग्राउंड के रंग में अंतर करने में परेशानी हो रही थी.
    • InlineSlider/Stepper - बटन की भूमिकाएं जोड़ी गईं, ताकि Talkback उन्हें बटन के तौर पर पहचान सके.
    • स्केफ़ोल्ड - PositionIndicator को अब इस तरह से रखा गया है कि यह सिर्फ़ उतनी जगह ले जितनी ज़रूरी है. यह जानकारी तब काम आती है, जब इसमें सिमैंटिक जानकारी जोड़ी जाती है. उदाहरण के लिए, अब TalkBack को स्क्रीन पर मौजूद PositionIndicator की सही सीमाएं मिल जाती हैं.
    • CurvedText/TimeText - Modifier.scrollAway जोड़ा गया है. यह स्क्रोल की स्थिति के आधार पर, किसी आइटम को वर्टिकल तौर पर व्यू में लाता/बाहर ले जाता है. इसमें Column, LazyColumn, और ScalingLazyColumn के साथ काम करने के लिए ओवरलोड होते हैं. आम तौर पर, ScrollAway का इस्तेमाल TimeText को व्यू से बाहर ले जाने के लिए किया जाता है, क्योंकि उपयोगकर्ता आइटम की सूची को ऊपर की ओर स्क्रोल करना शुरू करता है.
    • CurvedText/TimeText - CurvedTextStyle में fontFamily, fontStyle, और fontSynthesis के साथ काम करने की सुविधा जोड़ी गई है. इसका इस्तेमाल curvedText और basicCurvedText पर किया जा सकता है
    • CurvedText/TimeText - CurvedTextStyle पर कंस्ट्रक्टर और कॉपी करने के तरीके में fontWeight जोड़ा गया
    • ToggleControls - ToggleChip और SplitToggleChip के साथ इस्तेमाल करने के लिए, ऐनिमेशन वाले Checkbox, Switch, और RadioButton टॉगल कंट्रोल जोड़े गए. इनका इस्तेमाल, ToggleChipDefaults (switchIcon, checkboxIcon, और radioIcon) की ओर से उपलब्ध कराए गए स्टैटिक आइकॉन के बजाय किया जा सकता है.
    • प्लेसहोल्डर - एक्सपेरिमेंट के तौर पर प्लेसहोल्डर इस्तेमाल करने की सुविधा जोड़ी गई. इसमें तीन अलग-अलग विज़ुअल इफ़ेक्ट हैं, जिन्हें एक साथ काम करने के लिए डिज़ाइन किया गया है.
    • सबसे पहले, प्लेसहोल्डर बैकग्राउंड ब्रश इफ़ेक्ट का इस्तेमाल किया जाता है. इसका इस्तेमाल Chip और Cards जैसे कंटेनर में किया जाता है. इससे कॉन्टेंट लोड होने का इंतज़ार करते समय, सामान्य बैकग्राउंड पर ड्रॉ किया जा सकता है.
    • दूसरा, लोडिंग के दौरान कॉन्टेंट के ऊपर स्टेडियम के आकार का प्लेसहोल्डर विजेट बनाने के लिए मॉडिफ़ायर (Modifier.placeholder()) का इस्तेमाल किया जाता है.
    • तीसरा, मॉडिफ़ायर ग्रेडिएंट/शिमर इफ़ेक्ट (Modifier.placeholderShimmer()) है. इसे अन्य इफ़ेक्ट के ऊपर बनाया जाता है, ताकि उपयोगकर्ताओं को यह पता चल सके कि हम डेटा लोड होने का इंतज़ार कर रहे हैं.
      • इन सभी इफ़ेक्ट को इस तरह से डिज़ाइन किया गया है कि ये एक साथ काम करें. साथ ही, ये एक साथ चमकें और एक साथ मिटें.
  • Core Compose की डिपेंडेंसी को 1.2 से 1.3 पर अपडेट किया गया

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

  • फ़ॉन्ट पैरामीटर (fontFamily, fontWeight, fontStyle, और fontSynthesis) को अब सीधे तौर पर curvedText (Idc422) के पैरामीटर के तौर पर सेट किया जा सकता है

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

  • curveText और basicCurvedText अब TalkBack के साथ ठीक से काम करेंगे. इनके साथ, कंपोज़-यूआई नोड जुड़ा हुआ है. इसका साइज़ और जगह सही है, लेकिन यह खाली है. इसमें टेक्स्ट को कॉन्टेंट के ब्यौरे के तौर पर इस्तेमाल किया जाता है (I7af7c, b/210721259)
  • Picker में मौजूद बग को ठीक किया गया है. यह बग तब दिखता था, जब Pickers के इंटरनल ScalingLazyColumn पर autoCentering पैरामीटर की सेटिंग को साफ़ तौर पर जोड़ने के लिए PickerState.repeatedItems = false किया जाता था. इससे यह पक्का किया जा सकता है कि पहले विकल्प को व्यू के बीच में स्क्रोल किया जा सके. (I8a4d7)

वर्शन 1.1.0-alpha07

5 अक्टूबर, 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha07, androidx.wear.compose:compose-material:1.1.0-alpha07, और androidx.wear.compose:compose-navigation:1.1.0-alpha07 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha07 में ये कमिट शामिल हैं.

नई सुविधाएं

  • हमने एक्सपेरिमेंट के तौर पर प्लेसहोल्डर के लिए सहायता जोड़ी है. इसमें तीन अलग-अलग विज़ुअल इफ़ेक्ट हैं, जिन्हें एक साथ काम करने के लिए डिज़ाइन किया गया है. सबसे पहले, प्लेसहोल्डर बैकग्राउंड ब्रश इफ़ेक्ट का इस्तेमाल किया जाता है. इसका इस्तेमाल Chip और Cards जैसे कंटेनर में किया जाता है. इससे कॉन्टेंट लोड होने का इंतज़ार करते समय, सामान्य बैकग्राउंड पर ड्रॉ किया जा सकता है. दूसरा, लोडिंग के दौरान कॉन्टेंट के ऊपर स्टेडियम के आकार का प्लेसहोल्डर विजेट बनाने के लिए मॉडिफ़ायर (Modifier.placeholder()) का इस्तेमाल किया जाता है. तीसरा, मॉडिफ़ायर ग्रेडिएंट/शिमर इफ़ेक्ट (Modifier.placeholderShimmer()) है. इसे अन्य इफ़ेक्ट के ऊपर बनाया जाता है, ताकि उपयोगकर्ताओं को यह पता चल सके कि हम डेटा लोड होने का इंतज़ार कर रहे हैं. इन सभी इफ़ेक्ट को इस तरह से डिज़ाइन किया गया है कि ये एक साथ काम करें. साथ ही, ये एक साथ चमकें और एक साथ मिटें. (I3c339)

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

  • CurvedTextStyle में fontWeight, fontFamily, fontStyle, और fontSynthesis के लिए सहायता जोड़ी गई है. इसका इस्तेमाल curvedText और basicCurvedText पर किया जा सकता है. इन पैरामीटर का इस्तेमाल, घुमावदार टेक्स्ट पर इस्तेमाल किए जाने वाले फ़ॉन्ट और स्टाइल को तय करने के लिए किया जा सकता है.(Iaa1a8),(I72759)
  • Modifier.scrollAway के ऑफ़सेट पैरामीटर को Dp में अपडेट किया गया है, ताकि यह Modifier.offset के साथ एक जैसा हो. पहले यह पिक्सल में था. साथ ही, बेहतर परफ़ॉर्मेंस के लिए इसे LayoutModifier के तौर पर फिर से बनाया गया है. (I9f94b)
  • टॉगल कंट्रोल वाले नए एपीआई के तहत, हमने RadioButton’s circleColor का नाम बदलकर ringColor कर दिया है. (I28fa9)
  • हमने ToggleChip और SplitToggleChip के साथ इस्तेमाल करने के लिए, ऐनिमेटेड Checkbox, Switch, और RadioButton टॉगल कंट्रोल जोड़े हैं. इनका इस्तेमाल, ToggleChipDefaults (switchIcon, checkboxIcon, और radioIcon) की ओर से उपलब्ध कराए गए स्टैटिक आइकॉन के बजाय किया जा सकता है. (I8a8c4)

वर्शन 1.1.0-alpha06

21 सितंबर, 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha06, androidx.wear.compose:compose-material:1.1.0-alpha06, और androidx.wear.compose:compose-navigation:1.1.0-alpha06 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha06 में ये कमिट शामिल हैं.

नई सुविधाएं

  • हमने Modifier.scrollAway जोड़ा है. यह स्क्रोल की स्थिति के आधार पर, किसी आइटम को व्यू में ऊपर/नीचे की ओर स्क्रोल करता है. इसमें Column, LazyColumn, और ScalingLazyColumn के साथ काम करने के लिए ओवरलोड होते हैं. आम तौर पर, ScrollAway का इस्तेमाल TimeText को व्यू से बाहर स्क्रोल करने के लिए किया जाता है, क्योंकि उपयोगकर्ता आइटम की सूची को ऊपर की ओर स्क्रोल करना शुरू करता है. (I61766)

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

  • PositionIndicator को अब इस तरह से पोज़िशन और साइज़ किया गया है कि यह सिर्फ़ उतनी जगह ले जितनी ज़रूरी है. यह जानकारी तब काम आती है, जब इसमें सिमैंटिक जानकारी जोड़ी जाती है. उदाहरण के लिए, अब TalkBack को स्क्रीन पर मौजूद PositionIndicator की सही सीमाएं मिल जाती हैं. (Ie6106, b/244409133)

वर्शन 1.1.0-alpha05

7 सितंबर, 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha05, androidx.wear.compose:compose-material:1.1.0-alpha05, और androidx.wear.compose:compose-navigation:1.1.0-alpha05 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha05 में ये कमिट शामिल हैं.

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

  • InlineSlider और Stepper में बटन की भूमिकाएं जोड़ी गई हैं, ताकि TalkBack उन्हें बटन के तौर पर पहचान सके. (Icb46c, b/244260275)
  • हमने Scaffold में, पोज़िशन और पेज इंडिकेटर के z-ऑर्डर को ठीक कर दिया है. ये इंडिकेटर अब विनेट के ऊपर दिखेंगे. इसलिए, अगर विनेट मौजूद है, तो ये इंडिकेटर उससे नहीं छिपेंगे. (Ib988f, b/244207528)

वर्शन 1.1.0-alpha04

24 अगस्त, 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha04, androidx.wear.compose:compose-material:1.1.0-alpha04, और androidx.wear.compose:compose-navigation:1.1.0-alpha04 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha04 में ये कमिट शामिल हैं.

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

  • हमने MaterialTheme में कई डिफ़ॉल्ट रंगों को अपडेट किया है, ताकि ऐक्सेसिबिलिटी को बेहतर बनाया जा सके. ऐसा इसलिए किया गया है, क्योंकि ओरिजनल रंगों में ज़रूरत के मुताबिक कंट्रास्ट नहीं था. इस वजह से, उपयोगकर्ताओं को चिप/कार्ड/बटन के बैकग्राउंड और थीम के बैकग्राउंड के रंग में अंतर करने में मुश्किल होती थी. अपडेट किए गए रंग ये हैं: surface(0xFF202124->0xFF303133), onPrimary(0xFF202124->0xFF303133), onSecondary(0xFF202124->0xFF303133), primaryVariant(0xFF669DF6->0xFF8AB4F8), और onError(0xFF202124->0xFF000000). हालांकि, रंगों में हुए बदलाव ज़्यादा नहीं हैं, लेकिन इनसे मौजूदा स्क्रीनशॉट टेस्ट पर असर पड़ सकता है. (81ab09)

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

  • ScalingLazyColumn में लॉजिक से जुड़ी एक गड़बड़ी को ठीक किया गया है. इसकी वजह से, सूची में कम आइटम (आम तौर पर सिर्फ़ दो) वाली सूचियां, शुरू नहीं हो पाती थीं और इस वजह से वे पारदर्शी हो जाती थीं. (504347)

वर्शन 1.1.0-alpha03

10 अगस्त, 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha03, androidx.wear.compose:compose-material:1.1.0-alpha03, और androidx.wear.compose:compose-navigation:1.1.0-alpha03 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha03 में ये कमिट शामिल हैं.

नई सुविधाएं

  • हमने Chips और Buttons के लिए, नई आउटलाइन वाली स्टाइल जोड़ी है. साथ ही, नए OutlinedChip और OutlinedButton कंपोज़ेबल जोड़े हैं. ये कंपोज़ेबल, पतले बॉर्डर वाले पारदर्शी Chip/Button उपलब्ध कराते हैं. (Id5972)

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

  • बटन के आकार में बदलाव करने के लिए, ओवरलोड जोड़े गए (Icccde)

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

  • हमने ToggleChip के टॉगल कंट्रोल एरिया के साइज़ को ठीक कर दिया है, क्योंकि यह इसके यूज़र एक्सपीरियंस (यूएक्स) स्पेसिफ़िकेशन से मेल नहीं खा रहा था. यूएक्स स्पेसिफ़िकेशन के मुताबिक, लेबल और 24x24.dp टॉगल कंट्रोल आइकॉन एरिया के बीच 4.dp का स्पेसर होना चाहिए. इससे कुल चौड़ाई 28.dp हो जाती है. हालांकि, लागू करने के बाद 36x24.dp टॉगल कंट्रोल एरिया गलत तरीके से दिख रहा है. इससे, इस्तेमाल किए जा सकने वाले टेक्स्ट लेबल की जगह 8 डीपी कम हो जाती है. ध्यान दें: इस गड़बड़ी को ठीक करने के बाद, टेक्स्ट लेबल के लिए ज़्यादा जगह मिल जाती है. इससे, टेक्स्ट के लेआउट पर (सकारात्मक) असर पड़ सकता है. अगर आपके पास ToggleChips वाले स्क्रीनशॉट टेस्ट हैं, तो उन्हें अपडेट करना पड़ सकता है. (I514c8, b/240548670)

वर्शन 1.1.0-alpha02

27 जुलाई, 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha02, androidx.wear.compose:compose-material:1.1.0-alpha02, और androidx.wear.compose:compose-navigation:1.1.0-alpha02 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha02 में ये कमिट शामिल हैं.

नई सुविधाएं

  • हमने Compose for Wear OS की डिपेंडेंसी को कोर Compose लाइब्रेरी में 1.2.0 से 1.3.0-alpha0X पर स्विच कर दिया है

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

  • चिप के आकार में बदलाव करने के लिए ओवरलोड जोड़े गए (I02e87)

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

  • हमने डायलॉग को दिखाते/छिपाते समय विगनेट की दृश्यता को ऐनिमेट किया है, ताकि यह मौजूदा स्केलिंग ऐनिमेशन के साथ काम कर सके. (Ida33e)
  • हमने एक गड़बड़ी को ठीक किया है. इस गड़बड़ी में, स्क्रोल करते समय कुछ फ़्लिंग व्यवहार के साथ शून्य से भाग देने की समस्या हो सकती थी. (I86cb6)
  • ChipDefaults.childChipColor() में मौजूद एक बग को ठीक किया गया है, ताकि यह पक्का किया जा सके कि बैकग्राउंड का बंद किया गया रंग पूरी तरह से पारदर्शी हो. (I2b3c3, b/238057342)

वर्शन 1.1.0-alpha01

29 जून, 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha01, androidx.wear.compose:compose-material:1.1.0-alpha01, और androidx.wear.compose:compose-navigation:1.1.0-alpha01 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha01 में ये कमिट शामिल हैं.

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

  • Picker के contentDescription पैरामीटर का इस्तेमाल अब सिर्फ़ चुने गए Picker विकल्प के लिए किया जाता है. साथ ही, यह एक ऐसी स्ट्रिंग लेता है जिसमें शून्य वैल्यू हो सकती है. इससे पहले, विकल्प से कॉन्टेंट के ब्यौरे तक मैपिंग पास करना ज़रूरी था. हालांकि, सिर्फ़ चुने गए विकल्प का इस्तेमाल किया जाता था. (Ife6a7)
  • हमने Picker में सुलभता से जुड़ी कुछ सुविधाएं जोड़ी हैं, ताकि मल्टी-Picker स्क्रीन को स्क्रीन रीडर की मदद से नेविगेट किया जा सके. साथ ही, कॉन्टेंट के ब्यौरे को ऐक्सेस किया जा सके (I64edb)

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

  • हमने Wear Compose लाइब्रेरी (I9c694) के साथ पैकेज किए गए, बेसलाइन प्रोफ़ाइल के नियमों को अपडेट किया है
  • हमने दाएं से बाएं मोड में चिप के लिए, ग्रेडिएंट की दिशा को ठीक कर दिया है. पहले यह ऊपर बाईं ओर से नीचे दाईं ओर था, अब यह ऊपर दाईं ओर से नीचे बाईं ओर है. (Ic2e77)
  • हमने Chip/ToggleChip/Card के लिए डिफ़ॉल्ट ग्रेडिएंट अपडेट किए हैं, ताकि उन्हें यूज़र एक्सपीरियंस (यूएक्स) की नई खास बातों के मुताबिक बनाया जा सके. ChipDefaults.gradientBackgroundChipColors को अपडेट किया गया है. अब यह 32.5% के बजाय 50% प्राइमरी से शुरू होगा. CardDefaults.cardBackgroundPainter को अपडेट कर दिया गया है. अब यह प्राइमरी रंग के 30% से शुरू होकर onSurfaceVariant के 20% पर खत्म होता है. पहले यह onSurfaceVariant के 20% से 10% तक था. ToggleChip.toggleChipColors में बदलाव किया गया है. अब यह 75% सरफेस से 32.5% प्राइमरी से 0% सरफेस से 50% प्राइमरी तक लीनियर ग्रेडिएंट में बदलता है. (I43bbd)
  • हमने Chip/ToggleChips के पीछे बैकग्राउंड का रंग (MaterialTheme.color.surface) जोड़ा है. ऐसा इसलिए किया गया है, ताकि अगर इनके पीछे हल्के रंग का इस्तेमाल किया जाता है, तो ये ठीक से दिखें. (Ibe1a4, b/235937657)
  • अब पिकर आइटम हमेशा बीच में अलाइन होते हैं. इससे उस बग को ठीक किया गया है जिसमें gradientRatio को शून्य पर सेट करने से अलाइनमेंट बदल जाता था. (I712b8)

वर्शन 1.0

वर्शन 1.0.2

7 सितंबर, 2022

androidx.wear.compose:compose-foundation:1.0.2, androidx.wear.compose:compose-material:1.0.2, और androidx.wear.compose:compose-navigation:1.0.2 रिलीज़ किए गए हैं. वर्शन 1.0.2 में ये कमिट शामिल हैं.

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

  • हमने Scaffold में, पोज़िशन और पेज इंडिकेटर के z-ऑर्डर को ठीक कर दिया है. ये इंडिकेटर अब विनेट के ऊपर दिखेंगे. इसलिए, अगर विनेट मौजूद है, तो ये इंडिकेटर उससे नहीं छिपेंगे. (Ib988f, b/244207528)

वर्शन 1.0.1

24 अगस्त, 2022

androidx.wear.compose:compose-foundation:1.0.1, androidx.wear.compose:compose-material:1.0.1, और androidx.wear.compose:compose-navigation:1.0.1 रिलीज़ किए गए हैं. वर्शन 1.0.1 में ये कमिट शामिल हैं.

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

  • ScalingLazyColumn में लॉजिक से जुड़ी एक गड़बड़ी को ठीक किया गया है. इसकी वजह से, सूची में कम आइटम (आम तौर पर सिर्फ़ दो) वाली सूचियां, शुरू नहीं हो पाती थीं और इस वजह से वे पारदर्शी हो जाती थीं. (076c61)

वर्शन 1.0.0

27 जुलाई, 2022

androidx.wear.compose:compose-foundation:1.0.0, androidx.wear.compose:compose-material:1.0.0, और androidx.wear.compose:compose-navigation:1.0.0 रिलीज़ किए गए हैं. वर्शन 1.0.0 में ये कमिट शामिल हैं.

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

  • यह Compose for Wear OS का पहला स्टेबल वर्शन है (ज़्यादा जानें).
  • Compose for Wear OS, Compose की मुख्य लाइब्रेरी पर आधारित है. यह पहने जाने वाले डिवाइसों के लिए, खास कॉम्पोनेंट उपलब्ध कराता है. साथ ही, यह पहने जाने वाले डिवाइसों के हिसाब से, Compose के मुख्य कॉम्पोनेंट के वैकल्पिक वर्शन भी उपलब्ध कराता है.
  • Wear Compose में मौजूद मुख्य कॉम्पोनेंट की सूची देखने के लिए, (Compose for Wear OS Beta01) के लिए रिलीज़ नोट देखें.

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

  • हमने डायलॉग को दिखाते/छिपाते समय विगनेट की दृश्यता को ऐनिमेट किया है, ताकि यह मौजूदा स्केलिंग ऐनिमेशन के साथ काम कर सके. (Ida33e)
  • हमने एक गड़बड़ी को ठीक किया है. इस गड़बड़ी में, स्क्रोल करते समय कुछ फ़्लिंग व्यवहार के साथ शून्य से भाग देने की समस्या हो सकती थी. (I86cb6)
  • ChipDefaults.childChipColor() में मौजूद एक बग को ठीक किया गया है, ताकि यह पक्का किया जा सके कि बैकग्राउंड का बंद किया गया रंग पूरी तरह से पारदर्शी हो. (I2b3c3, b/238057342)

वर्शन 1.0.0-rc02

22 जून, 2022

androidx.wear.compose:compose-foundation:1.0.0-rc02, androidx.wear.compose:compose-material:1.0.0-rc02, और androidx.wear.compose:compose-navigation:1.0.0-rc02 रिलीज़ किए गए हैं. वर्शन 1.0.0-rc02 में ये कमिट शामिल हैं.

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

  • हमने दाएं से बाएं (आरटीएल) मोड में कार्ड के लिए, ग्रेडिएंट की दिशा को ठीक कर दिया है. यह पहले ऊपर बाईं ओर से नीचे दाईं ओर था. अब यह ऊपर दाईं ओर से नीचे बाईं ओर है. (Ic2e77)
  • हमने Chip/ToggleChip/Card के लिए डिफ़ॉल्ट ग्रेडिएंट अपडेट किए हैं, ताकि उन्हें यूज़र एक्सपीरियंस (यूएक्स) की नई खास बातों के मुताबिक बनाया जा सके. ChipDefaults.gradientBackgroundChipColors को अपडेट किया गया है. अब यह 32.5% के बजाय 50% प्राइमरी से शुरू होगा. CardDefaults.cardBackgroundPainter को अपडेट किया गया है. अब यह प्राइमरी कलर के 30% से शुरू होकर onSurfaceVariant के 20% पर खत्म होता है. इससे पहले, यह SurfaceVariant पर 20% से 10% तक होता था. ToggleChip.toggleChipColors में, 75% सतह से 32.5% प्राइमरी से 0% सतह से 50% प्राइमरी तक लीनियर ग्रेडिएंट बदलता है. (I43bbd)
  • हमने Chip/ToggleChips के पीछे बैकग्राउंड का रंग (MaterialTheme.color.surface) जोड़ा है. ऐसा इसलिए किया गया है, ताकि अगर इनके पीछे हल्के रंग का इस्तेमाल किया जाता है, तो ये ठीक से दिखें. (Ibe1a4, b/235937657)
  • हमने Wear Compose लाइब्रेरी (I9c694) के साथ पैकेज किए गए, बेसलाइन प्रोफ़ाइल के नियमों को अपडेट किया है

वर्शन 1.0.0-rc01

15 जून, 2022

androidx.wear.compose:compose-foundation:1.0.0-rc01, androidx.wear.compose:compose-material:1.0.0-rc01, और androidx.wear.compose:compose-navigation:1.0.0-rc01 रिलीज़ किए गए हैं. वर्शन 1.0.0-rc01 में ये कमिट शामिल हैं.

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

  • Compose लाइब्रेरी में इंटरफ़ेस अब jdk8 के डिफ़ॉल्ट इंटरफ़ेस के तरीकों (I5bcf1) का इस्तेमाल करके बनाए जाते हैं

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

  • हमने सूची के हेडर से fillMaxWidth() को हटाने का अनुरोध किया है, क्योंकि इसकी ज़रूरत नहीं है. साथ ही, अगर किसी fillMaxWidth() में ListHeader() और Chip() कॉम्पोनेंट का मिक्सचर है, तो इससे समस्याएं हो सकती हैं. ऐसा इसलिए, क्योंकि ListHeader आइटम को स्क्रोल करने पर, चौड़ाई कम/ज़्यादा हो जाएगी.ScalinglazyColumn (I37144, b/235074035)
  • हमने ScalingLazyColumn में मौजूद एक गड़बड़ी को ठीक कर दिया है. इस गड़बड़ी की वजह से, सूची के आइटम तब तक सही तरीके से नहीं दिखते थे, जब तक उन्हें स्क्रोल नहीं किया जाता था. ऐसा तब होता था, जब सूची का पहला आइटम काफ़ी बड़ा होता था (पैडिंग के साथ) (Ic6159, b/234328517)
  • हमने ScalingLazyColumn ईज़िंग में थोड़ा बदलाव किया है, ताकि आइटम स्क्रीन के किनारे पर पहुंचने पर उपयोगकर्ता अनुभव से जुड़ी खास बातों के अपडेट से मेल खा सकें. पुरानी वैल्यू CubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f) -> नई वैल्यू CubicBezierEasing(0.3f, 0f, 0.7f, 1f). अगर आपको पुराने वर्शन की तरह ही काम करना है, तो scalingParams के ScalingLazyColumn (Ie375c) को बदलें
  • हमने CompactChip में पैडिंग जोड़ी है, ताकि यह पक्का किया जा सके कि इसका टैप टारगेट साइज़ कम से कम 48.dp हो. इससे, सुलभता से जुड़े मटीरियल के दिशा-निर्देशों का पालन किया जा सकेगा. इससे CompactChips का इस्तेमाल करने वाले आपके किसी भी लेआउट पर असर पड़ सकता है, क्योंकि वे ज़्यादा जगह लेंगे. (I3d57c)

वर्शन 1.0.0-beta03

1 जून, 2022

androidx.wear.compose:compose-foundation:1.0.0-beta03, androidx.wear.compose:compose-material:1.0.0-beta03, और androidx.wear.compose:compose-navigation:1.0.0-beta03 रिलीज़ किए गए हैं. वर्शन 1.0.0-beta03 में ये कमिट शामिल हैं.

नई सुविधाएं

  • हमने ScalingLazyColumn को कंपोज़ @Preview मोड में काम करने की सुविधा दी है. (I3b3b6, b/232947354)

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

  • हमने ScalingLazyColumn.horizontalAlignment प्रॉपर्टी की डिफ़ॉल्ट वैल्यू को Start से बदलकर CenterHorizontally कर दिया है. इससे यह पक्का किया जा सकेगा कि जब सूची के आइटम, कॉलम की पूरी चौड़ाई में नहीं दिखते हैं, तो उन्हें ज़्यादा से ज़्यादा दिखने के लिए अलाइन किया जाएगा. पिछले वर्शन के व्यवहार पर वापस जाने के लिए, horizontalAlignment = Alignment.Start.(I9ed4b)

ऐसी समस्याएं जिनके बारे में जानकारी पहले से है

  • CompactChip की टैप/टच करने की ऊंचाई, सुलभता के लिए मटीरियल डिज़ाइन के दिशा-निर्देशों के मुताबिक नहीं है. इसे अगले वर्शन (15 जून) में ठीक कर दिया जाएगा. अगर CompactChip का इस्तेमाल किया जा रहा है, तो इससे आपके लेआउट पर असर पड़ेगा. ऐसा इसलिए, क्योंकि अब CompactChips के ऊपर और नीचे अतिरिक्त पैडिंग होगी. कृपया अपने लेआउट में बदलाव करें और उनकी जांच करें. इसके अलावा, मौजूदा व्यवहार का इस्तेमाल करने के लिए, गड़बड़ी से जुड़ी टिप्पणियां देखें. (b/234332135)

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

  • TimeText पर, टेक्स्ट को ऐनिमेट करके जोड़ने या हटाने का नया डेमो. (I16d75)
  • HorizontalPageIndicator.PagesState (I64ed0) के लिए टेस्ट जोड़ें
  • UX स्पेसिफ़िकेशन (Ib7ea1) के हिसाब से TimeText को अपडेट किया जा रहा है

वर्शन 1.0.0-beta02

18 मई, 2022

androidx.wear.compose:compose-foundation:1.0.0-beta02, androidx.wear.compose:compose-material:1.0.0-beta02, और androidx.wear.compose:compose-navigation:1.0.0-beta02 रिलीज़ किए गए हैं. वर्शन 1.0.0-beta02 में ये कमिट शामिल हैं.

नई सुविधाएं

  • अब पिकर, स्क्रोल इवेंट का हमेशा जवाब देता है. भले ही, वह सिर्फ़ पढ़ने के मोड में हो. इससे उपयोगकर्ताओं को स्क्रोल करने से पहले, टैप करके पिकर चुनने की ज़रूरत नहीं पड़ती. सिर्फ़ पढ़ने वाले मोड में, gradientColor में मौजूद शिम की वजह से, चुने गए विकल्प के अलावा अन्य विकल्प धुंधले हो जाते हैं. (I72925)
  • हमने Chip/ToggleChip/CompactChip/SplitToggleChip के यूज़र एक्सपीरियंस (यूएक्स) के व्यवहार में बदलाव किया है, ताकि वे डिफ़ॉल्ट रूप से fillMaxWidth न कर सकें. इसके बजाय, वे अपने कॉन्टेंट के हिसाब से बड़े हो जाएंगे. पिछली सेटिंग को बनाए रखने के लिए, modifier = Modifier.fillMaxWidth()(I60a2c, b/232206371) जोड़ें

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

  • CurvedTextStyle कंस्ट्रक्टर अब TextStyle को भी ध्यान में रखता है. fontWeight(इसे API के आने वाले समय के वर्शन में कंस्ट्रक्टर और कॉपी करने के तरीकों में जोड़ा जा सकता है) (Ieebb9)
  • स्क्रीन के किनारे से स्वाइप करने की सुविधा में सुधार किए गए हैं. जब Modifier.edgeSwipeToDismiss का इस्तेमाल किया जाता है और किनारे वाले हिस्से से बाईं ओर स्वाइप किया जाता है, तो स्वाइप करने की दिशा दाईं ओर बदलने पर, यह अब स्वाइप करके खारिज करने की सुविधा को ट्रिगर नहीं करता. पहले, बाईं ओर स्वाइप करने के बाद दाईं ओर स्वाइप करके, सूचना को खारिज करने के लिए स्वाइप करने की सुविधा को ट्रिगर किया जा सकता था.(I916ea)
  • HorizontalPageIndicator अब स्क्रीन पर छह पेज तक दिखाता है. अगर कुल छह से ज़्यादा पेज हैं, तो बाईं या दाईं ओर आधा इंडिकेटर दिखता है. साथ ही, पेजों के बीच आसानी से ट्रांज़िशन होता है.(I2ac29)
  • ScalingLazyColumn और Picker पर स्नैप करने के डिफ़ॉल्ट तरीके को बेहतर बनाया गया (I49539)
  • स्क्रीन के किनारे से स्वाइप करने की सुविधा में सुधार किए गए हैं. Modifier.edgeSwipeToDismiss का इस्तेमाल करने पर, खारिज करने के लिए स्वाइप करने की सुविधा सिर्फ़ तब ट्रिगर होती है, जब पहली बार स्क्रीन के किनारे पर टच किया जाता है और दाईं ओर स्वाइप किया जाता है. इससे पहले, स्क्रोल के शुरू होने पर स्क्रीन के किसी भी हिस्से से स्वाइप करके, खारिज करने के लिए स्वाइप करने की सुविधा को ट्रिगर किया जा सकता था.(I8ca2a)

वर्शन 1.0.0-beta01

11 मई, 2022

androidx.wear.compose:compose-foundation:1.0.0-beta01, androidx.wear.compose:compose-material:1.0.0-beta01, और androidx.wear.compose:compose-navigation:1.0.0-beta01 रिलीज़ किए गए हैं. वर्शन 1.0.0-beta01 में ये कमिट शामिल हैं.

Compose for Wear OS 1.0 में क्या-क्या शामिल है

Compose for Wear OS का 1.0.0-beta01 वर्शन, एक अहम पड़ाव है. ऐसा इसलिए, क्योंकि इस लाइब्रेरी में सभी सुविधाएं उपलब्ध हैं और एपीआई लॉक है.

Wear Compose Material के 1.0 वर्शन में ये कॉम्पोनेंट शामिल हैं:

  • मटीरियल थीम - इसका इस्तेमाल Compose for Mobile MaterialTheme की जगह किया जाता है. यह Wearables पर कॉम्पोनेंट बनाने के लिए रंग, आकार, और टाइपोग्राफ़ी उपलब्ध कराता है. साथ ही, यह Wear Material Design के UX दिशा-निर्देशों को लागू करता है.
  • Button, CompactButton, और ToggleButton - बटन में आइकॉन, इमेज या छोटा टेक्स्ट (ज़्यादा से ज़्यादा तीन वर्ण) जोड़ने के लिए एक ही स्लॉट होता है. यह गोल आकार में होता है. इसमें डिफ़ॉल्ट, बड़े या छोटे बटन के लिए सुझाए गए साइज़ होते हैं. CompactButton में किसी भी कॉन्टेंट (आइकॉन, इमेज या टेक्स्ट) को रखने के लिए एक ही स्लॉट होता है. यह गोल आकार का होता है और इसका बैकग्राउंड साइज़ बहुत छोटा होता है. CompactButton में बैकग्राउंड के चारों ओर पारदर्शी पैडिंग होती है. इससे क्लिक किए जा सकने वाले हिस्से का साइज़ बढ़ जाता है. ToggleButton एक बटन है, जिसमें किसी भी कॉन्टेंट (छोटा टेक्स्ट, आइकॉन या इमेज) को रखने के लिए एक ही स्लॉट होता है. इसमें चालू/बंद (सही का निशान लगा है/सही का निशान नहीं लगा है) की स्थितियां होती हैं. साथ ही, इसमें रंग और अलग-अलग आइकॉन होते हैं, ताकि यह दिखाया जा सके कि इसे चुना गया है या नहीं
  • कार्ड - इनका इस्तेमाल, ऐप्लिकेशन के बारे में जानकारी दिखाने के लिए किया जाता है. जैसे, सूचनाएं. AppCard और TitleCard की मदद से, अलग-अलग लेआउट और इमेज के साथ काम करने की सुविधा मिलती है. इमेज को कार्ड के कॉन्टेंट या बैकग्राउंड के तौर पर इस्तेमाल किया जा सकता है.
  • चिप - ये स्टेडियम के आकार के कॉम्पोनेंट होते हैं. ये बटन की तरह होते हैं, लेकिन इनका साइज़ बड़ा होता है. इनमें कई स्लॉट होते हैं, ताकि लेबल, सेकंडरी लेबल, और आइकॉन जोड़े जा सकें. अलग-अलग साइज़ में और बैकग्राउंड के तौर पर इमेज इस्तेमाल करने की सुविधा के साथ.
  • ToggleChips और SplitToggleChips - यह एक ऐसा चिप होता है जिसमें चेक/अनचेक करने की सुविधा होती है. साथ ही, इसमें ToggleControl स्लॉट जोड़ा जाता है, ताकि स्विच या रेडियो बटन जैसे आइकॉन दिखाए जा सकें. इससे कॉम्पोनेंट के चेक किए गए स्टेटस को दिखाया जा सकता है. इसके अलावा, SplitToggleChip में टैप करने के लिए दो जगहें होती हैं. इनमें से एक पर क्लिक किया जा सकता है और दूसरी को टॉगल किया जा सकता है.
  • CircularProgressIndicator - Wear Material प्रोग्रेस इंडिकेटर, जिसमें दो तरह के बदलाव किए जा सकते हैं. पहले विकल्प से, किसी टास्क के पूरा होने का अनुपात पता चलता है. साथ ही, यह शुरुआती और आखिरी कोण के बीच के अंतर को दिखाता है. दूसरे इंडिकेटर से पता चलता है कि इंतज़ार करने की तय अवधि के दौरान, प्रोग्रेस का प्रतिशत नहीं दिखता.
  • curvedText - यह CurvedLayouts के बारे में बताने के लिए, डीएसएल का हिस्सा है. साथ ही, curvedRow और curvedColumn का इस्तेमाल, गोल डिवाइसों के आस-पास कॉम्पोनेंट को लेआउट करने के लिए किया जाता है. CurvedLayout और CurvedModifier के बारे में ज़्यादा जानकारी के लिए, यहां Wear Component Foundation देखें. यह नॉन-कर्व्ड दुनिया में मॉडिफ़ायर की तरह काम करता है. इससे लेआउट, पैडिंग, ग्रेडिएंट वगैरह के अलग-अलग पहलुओं को कॉन्फ़िगर किया जा सकता है.
  • डायलॉग, सूचना, और पुष्टि - डायलॉग, फ़ुल-स्क्रीन डायलॉग दिखाता है. यह किसी भी अन्य कॉन्टेंट के ऊपर लेयर किया जाता है. इसमें स्वाइप करके खारिज करने की सुविधा काम करती है. यह एक ही स्लॉट लेता है. इसमें Wear OS के लिए Material Design वाले डायलॉग का कॉन्टेंट होता है. जैसे, सूचना या पुष्टि. सूचना, डायलॉग का ऐसा कॉन्टेंट होता है जिसमें आइकॉन, टाइटल, और मैसेज के लिए स्लॉट होते हैं. इसमें दो नेगेटिव और पॉज़िटिव बटन एक साथ दिखाने के लिए ओवरलोड होते हैं. इसके अलावा, इसमें एक या उससे ज़्यादा वर्टिकल तौर पर स्टैक किए गए चिप के लिए स्लॉट होता है. पुष्टि करने वाला डायलॉग, राय पर आधारित होता है. इसमें एक मैसेज तय समय के लिए दिखता है. इसमें आइकॉन या इमेज के लिए एक स्लॉट होता है. इसे ऐनिमेट किया जा सकता है.
  • HorizontalPageIndicator - यह Wearable डिवाइस के साइज़ के हिसाब से, पेज की हॉरिज़ॉन्टल पोज़िशन दिखाता है. इसे फ़ुल स्क्रीन पर दिखाने के लिए डिज़ाइन किया गया है. साथ ही, यह गोल डिवाइसों पर घुमावदार इंडिकेटर दिखाता है. इसका इस्तेमाल, कंपैनियन पेज व्यूअर के साथ किया जा सकता है.
  • आइकॉन - यह Wear में आइकॉन को लागू करने का तरीका है. यह Wear की मटीरियल थीम से रंग और ऐल्फ़ा लेता है. क्लिक किए जा सकने वाले आइकॉन के लिए, बटन या चिप देखें.
  • पिकर - इसमें स्क्रोल की जा सकने वाली आइटम की सूची दिखती है. इसमें से आइटम चुने जा सकते हैं. डिफ़ॉल्ट रूप से, आइटम दोनों दिशाओं में ‘हमेशा’ दोहराए जाएंगे. रीड-ओनली मोड में दिखाया जा सकता है, ताकि चुने नहीं गए विकल्पों को छिपाया जा सके.
  • PositionIndicator - यह Wearable डिवाइस के फ़ॉर्म फ़ैक्टर के हिसाब से, स्क्रोल करने की पोज़िशन या पोज़िशन से जुड़ी अन्य जानकारी दिखाता है. इसे फ़ुल स्क्रीन पर दिखाने के लिए डिज़ाइन किया गया है. साथ ही, यह गोल डिवाइसों पर घुमावदार इंडिकेटर दिखाता है.
  • Scaffold - Wear OS के लिए, मटीरियल डिज़ाइन के विज़ुअल लेआउट स्ट्रक्चर को लागू करता है. यह कॉम्पोनेंट, स्क्रीन बनाने के लिए कई Wear Material कॉम्पोनेंट (जैसे कि TimeText, PositionIndicator, और Vignette) को एक साथ रखने के लिए एक एपीआई उपलब्ध कराता है. साथ ही, यह पक्का करता है कि उनके लिए लेआउट की सही रणनीति अपनाई गई हो. इसके अलावा, यह ज़रूरी डेटा इकट्ठा करता है, ताकि ये कॉम्पोनेंट एक साथ सही तरीके से काम कर सकें.
  • ScalingLazyColumn - यह स्क्रोल करने वाला ऐसा कॉम्पोनेंट है जिसमें फ़िशआई इफ़ेक्ट होता है. यह Wear के Material Design की भाषा का एक अहम हिस्सा है. यह कॉन्टेंट आइटम को स्केल करने और उन्हें पारदर्शी बनाने के इफ़ेक्ट देता है. ScalingLazyColumn को इस तरह से डिज़ाइन किया गया है कि यह कॉन्टेंट आइटम की बड़ी संख्या को मैनेज कर सके. इन आइटम को सिर्फ़ तब दिखाया जाता है, जब इनकी ज़रूरत होती है.
  • स्लाइडर - इससे उपयोगकर्ता, वैल्यू की किसी रेंज में से कोई वैल्यू चुन सकते हैं. चुने गए विकल्पों की रेंज को बार के तौर पर दिखाया जाता है. इसे चाहें, तो सेपरेटर के साथ भी दिखाया जा सकता है.
  • स्टेपलर - यह एक फ़ुल-स्क्रीन कॉम्पोनेंट है. इसकी मदद से उपयोगकर्ता, वैल्यू की किसी रेंज में से कोई वैल्यू चुन सकते हैं. इसके लिए, उन्हें स्क्रीन पर सबसे ऊपर और सबसे नीचे मौजूद, बढ़ाने/घटाने वाले बटन का इस्तेमाल करना होता है. साथ ही, बीच में टेक्स्ट या चिप के लिए एक स्लॉट होता है.
  • SwipeToDismissBox - यह स्वाइप करके खारिज करने के जेस्चर को हैंडल करता है. इसमें बैकग्राउंड (सिर्फ़ स्वाइप करने के दौरान दिखता है) और फ़ोरग्राउंड कॉन्टेंट के लिए एक ही स्लॉट होता है. इसे SwipeDismissableNavHost का इस्तेमाल करके, androidx नेविगेशन लाइब्रेरी के साथ जोड़ा जा सकता है. हालांकि, ऐसा करना ज़रूरी नहीं है. इसके बारे में जानने के लिए, नीचे Wear Compose Navigation लाइब्रेरी देखें.
  • टेक्स्ट - यह Compose Material Text कॉम्पोनेंट का Wear वर्शन है. यह Wear Material Theme से रंग और ऐल्फ़ा लेता है
  • TimeText - यह कॉम्पोनेंट, स्क्रीन पर सबसे ऊपर समय और ऐप्लिकेशन की स्थिति दिखाता है. गोल स्क्रीन पर घुमावदार टेक्स्ट का इस्तेमाल करके, स्क्रीन के आकार के हिसाब से अडजस्ट हो जाता है.
  • विनेट - यह Scaffold में इस्तेमाल होने वाला स्क्रीन ट्रीटमेंट है. इसका इस्तेमाल तब किया जाता है, जब स्क्रोल किए जा सकने वाले कॉन्टेंट का इस्तेमाल किया जा रहा हो. इससे स्क्रीन के सबसे ऊपर और सबसे नीचे का हिस्सा धुंधला हो जाता है.

  • Wear Compose Foundation से ये कॉम्पोनेंट भी शामिल किए गए हैं:

  • CurvedLayout - Wear Foundation CurvedLayout एक लेआउट कंपोज़ेबल है. यह अपने चाइल्ड विजेट को एक आर्क में रखता है और ज़रूरत के हिसाब से उन्हें घुमाता है. यह ऐनुलस के सेगमेंट में घुमाए गए लाइन लेआउट जैसा होता है. ध्यान दें कि CurvedLayout का कॉन्टेंट, कंपोज़ेबल लैम्डा नहीं है. इसके बजाय, यह डीएसएल (डोमेन के हिसाब से भाषा) है. CurvedLayout के डीएसएल में मौजूद सभी एलिमेंट, CurvedModifier से बनाए गए मॉडिफ़ायर पैरामीटर के साथ काम करते हैं.

  • basicCurvedText - यह CurvedLayout डीएसएल का एक एलिमेंट है. basicCurvedText की मदद से डेवलपर, सर्कल के घुमाव के हिसाब से आसानी से घुमावदार टेक्स्ट लिख सकते हैं. आम तौर पर, यह टेक्स्ट गोल स्क्रीन के किनारे पर होता है. basicCurvedText को सिर्फ़ CurvedLayout में बनाया जा सकता है, ताकि आपको बेहतर अनुभव मिल सके. जैसे, basicCurvedText की पोज़िशन तय करना और CurvedModifiers का इस्तेमाल करना. ध्यान दें कि ज़्यादातर मामलों में curvedText का इस्तेमाल किया जाना चाहिए, क्योंकि यह Material theming का इस्तेमाल करता है.

  • curvedComposable - यह सामान्य कंपोज़ेबल कॉन्टेंट को रैप करता है, ताकि इसका इस्तेमाल CurvedLayout के साथ किया जा सके. अगर curvedComposable में कई एलिमेंट हैं, तो उन्हें एक-दूसरे के ऊपर (बॉक्स की तरह) ड्रॉ किया जाएगा. किसी कर्व के साथ कई कंपोज़ेबल रखने के लिए, हर कंपोज़ेबल को curvedComposable में रैप करें.

  • curvedRow और curvedColumn - ये Row और Column की तरह ही होते हैं. curvedRow और curvedColumn को CurvedLayout में नेस्ट किया जा सकता है, ताकि एलिमेंट को ज़रूरत के हिसाब से लेआउट किया जा सके. curvedRow के लिए, एंगुलर लेआउट की दिशा और रेडियल अलाइनमेंट तय किया जा सकता है. curvedColumn के लिए, ऐंगल के हिसाब से अलाइनमेंट और रेडियल दिशा तय की जा सकती है.

  • CurvedModifier - सभी कर्व किए गए कॉम्पोनेंट, modifier पैरामीटर स्वीकार करते हैं. इसे CurvedModifier का इस्तेमाल करके बनाया जा सकता है: बैकग्राउंड, साइज़, वेट, और पैडिंग काम करती हैं.

  • Wear Compose Navigation में यह कॉम्पोनेंट भी शामिल है:

  • SwipeDismissableNavHost - यह Compose हैरारकी में एक जगह उपलब्ध कराता है, ताकि नेविगेशन हो सके. इसमें स्वाइप करने के जेस्चर से पीछे जाने की सुविधा मिलती है. कॉन्टेंट को SwipeToDismissBox में दिखाया जाता है. इससे मौजूदा नेविगेशन लेवल का पता चलता है. स्वाइप करके खारिज करने के दौरान, पिछली नेविगेशन लेवल (अगर कोई हो) को बैकग्राउंड में दिखाया जाता है.

  • ऐल्फ़ा वर्शन की अलग-अलग रिलीज़ के बारे में ज़्यादा जानने के लिए, रिलीज़ नोट देखें.

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

  • CurvedModifier.padding* फ़ंक्शन जोड़े गए. इनका इस्तेमाल, घुमावदार कॉम्पोनेंट के चारों ओर जोड़े जाने वाले अतिरिक्त स्पेस के बारे में बताने के लिए किया जाता है. (I4dbb4)
  • CompositionLocal इंटरनल क्लास (I42490) हटा दी गई
  • हमने Button, CompactButton, और ToggleButton आइकॉन के साइज़ के लिए, तय की गई वैल्यू जोड़ी हैं. ये वैल्यू, दिशा-निर्देश के तौर पर दी गई हैं (I57cab)
  • AppCard और TitleCard में enabled पैरामीटर जोड़ें. अब उनके पास androidx.compose.material कार्ड की तरह ही एपीआई है. इस पैरामीटर को 'गलत है' पर सेट करने पर, कार्ड पर क्लिक नहीं किया जा सकेगा. (Idc48d, b/228869805)

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

  • अब स्टीपर, कम और ज़्यादा करने वाले बटन को तब बंद कर देता है, जब सबसे कम/ज़्यादा सीमाएं पहुंच जाती हैं. साथ ही, यह iconColor पर ContentAlpha.disabled लागू करता है (I4be9f)
  • हमने पिकर के कॉन्टेंट के चारों ओर 1dp पैडिंग जोड़ी है, ताकि स्वाइप करते समय टेक्स्ट में होने वाली गड़बड़ी को रोका जा सके. (I0b7b9)
  • PositionIndicator (I5e8bc) के लिए स्क्रीनशॉट टेस्ट जोड़ें
  • AppCard और TitleCard के लिए ज़्यादा टेस्ट जोड़ें (I85391, b/228869805)

वर्शन 1.0.0-alpha21

20 अप्रैल, 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha21, androidx.wear.compose:compose-material:1.0.0-alpha21, और androidx.wear.compose:compose-navigation:1.0.0-alpha21 रिलीज़ किए गए हैं. वर्शन 1.0.0-alpha21 में ये कमिट शामिल हैं.

नई सुविधाएं

  • घुमावदार एलिमेंट के बैकग्राउंड के बारे में बताने के लिए, नए घुमावदार मॉडिफ़ायर जोड़े गए: CurvedModifier.background, .radialGradientBackground, और .angularGradientBackground (I8f392)
  • इससे घुमावदार टेक्स्ट के ओवरफ़्लो मोड (क्लिप/एललिप्सिस/दिखने वाला) को सेट करने की अनुमति मिलती है. (I8e7aa)
  • Compose में मौजूद मॉडिफ़ायर की तरह ही, CurvedModifier.weight मॉडिफ़ायर जोड़ा गया. इसका इस्तेमाल, curvedRow और CurvedLayout के बच्चों (चौड़ाई के लिए) और curvedColumn के बच्चों (ऊंचाई के लिए) पर किया जा सकता है. (I8abbd)
  • घुमावदार एलिमेंट का साइज़ तय करने के लिए, CurvedModifier.size, .angularSize, और .radialSize मॉडिफ़ायर जोड़े गए. (I623c7)

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

  • Wear Compose API (I43208) में, बैकग्राउंड को रंग से पहले रखने के लिए पैरामीटर का क्रम बदलें
  • नई क्लास में, घड़ी की सुई की दिशा में घूमने और insideOut पैरामीटर हटा दिए गए हैं. इनकी जगह ज़्यादा जानकारी देने वाले कॉन्स्टेंट का इस्तेमाल किया गया है. अब घुमावदार लेआउट की दिशा के बारे में LayoutDirection को पता चल सकता है. अगर इसे तय नहीं किया जाता है, तो यह इनहेरिट हो जाता है (If0e6a)
  • हमने ScalingLazyColumn के एपीआई से जुड़ी समस्या को ठीक करने के लिए, autoCenter: Boolean को autoCenter: AutoCentringParams से बदल दिया है. (Ia9c90)
  • हमने पूरे एपीआई (चिप/टॉगलचिप/डायलॉग/स्लाइडर/स्टेपपर/...) में iconTintColor और toggleControlTintColor का नाम बदलकर iconColor और toggleControlColor कर दिया है, क्योंकि रंग को आइकॉन/टॉगलकंट्रोल स्लॉट पर लागू किया जाता है. (Ied238)
  • PageIndicatorStyle enum को वैल्यू क्लास (I2dc72) में फिर से लिखें
  • हमने अपने कंपोज़ेबल में कुछ स्लॉट में RowScope/ColumnScope/BoxScope जोड़ा है, ताकि डेवलपर को लेआउट के बारे में पता चल सके. इससे डेवलपर, कुछ स्लॉट कॉन्टेंट पर अतिरिक्त मॉडिफ़ायर का इस्तेमाल कर पाएंगे. साथ ही, उन्हें लेआउट के अतिरिक्त एलिमेंट देने की ज़रूरत नहीं होगी. इसके अलावा, हमने AppCard/TitleCard के रंगों में कुछ छोटे-मोटे बदलाव किए हैं, ताकि timeColor और appColor डिफ़ॉल्ट रूप से contentColor पर सेट हो जाएं. हालांकि, ज़रूरत पड़ने पर इन सभी प्रॉपर्टी को अलग-अलग तौर पर अब भी बदला जा सकता है. (I26b59)
  • SwipeToDismissBoxState.Companion ऑब्जेक्ट को निजी बनाया गया (I39e84)
  • InlineSlider और Stepper के लिए पैरामीटर का क्रम ठीक करें. एपीआई के दिशा-निर्देशों (I11fec) का पालन करने के लिए, सामान्य बदलाव किया गया है
  • हमने SwipeToDismissBoxState के लिए सेवर ऑब्जेक्ट हटा दिया है, क्योंकि इसका इस्तेमाल नहीं किया गया था. (Ifb54e)
  • हमने CompactChip को अपडेट किया है, ताकि इसे यूज़र एक्सपीरियंस (यूएक्स) की नई खास बातों के मुताबिक बनाया जा सके. पैडिंग को हॉरिज़ॉन्टल = 12.dp और वर्टिकल = 0.dp तक कम कर दिया गया है. लेबल के फ़ॉन्ट को बटन से बदलकर caption1 कर दिया गया है. अगर आइकॉन और लेबल, दोनों मौजूद हैं, तो आइकॉन का सुझाया गया साइज़ 20x20 पिक्सल है. सिर्फ़ आइकॉन वाले कॉम्पैक्ट चिप के लिए, आइकॉन का सुझाया गया साइज़ 24x24 पिक्सल है. सिर्फ़ आइकॉन के इस्तेमाल के मामले में, हमने यह भी पक्का किया है कि आइकॉन बीच में अलाइन हो. (Iea2be)
  • हमने ScalingLazyListLayoutInfo में कई नए फ़ील्ड जोड़े हैं, ताकि डेवलपर को यह पता चल सके कि contentPadding और autoCenteringPadding की कितनी रकम लागू की गई है. ये डेवलपर के लिए तब काम के हो सकते हैं, जब वे फ़्लिंग/स्क्रोल (I7577b) का हिसाब लगाते हैं
  • हमने डायलॉग के लिए, इन/आउट ट्रांज़िशन लागू किए हैं. showDialog पैरामीटर जोड़ा गया है. अब डायलॉग, अपनी विज़िबिलिटी को कंट्रोल करता है. इससे डायलॉग को, डायलॉग दिखाए/छिपाए जाने पर, इंट्रो और आउटरो ऐनिमेशन चलाने की सुविधा मिलती है. ध्यान दें कि जब उपयोगकर्ता स्वाइप करके खारिज करने की सुविधा का इस्तेमाल करके डायलॉग को बंद करता है, तब आउटरो ऐनिमेशन नहीं दिखता. हमने हाल ही में जोड़े गए SwipeToDismissBox ओवरलोड में, राज्य के लिए डिफ़ॉल्ट वैल्यू भी जोड़ी है. (I682a0)
  • हम i18n और a11y को बेहतर तरीके से सपोर्ट करने के लिए, ToggleChip और SplitToggleChip में बदलाव कर रहे हैं. इससे toggleControl स्लॉट के लिए, अब कोई डिफ़ॉल्ट वैल्यू नहीं होगी. हमने ToggleChipDefaults में भी बदलाव किया है, ताकि अब ये तरीके Icon के बजाय ImageVector दिखाएं. ध्यान दें कि अब ये @Composables नहीं दिखाते हैं, इसलिए इन्हें छोटे अक्षरों से शुरू किया गया है. SwitchIcon()->switchIcon(), CheckboxIcon->checkboxIcon(), और RadioIcon()->radioIcon() - इससे डेवलपर, सही contentDescription सेट के साथ अपने Icon() कंपोज़ेबल बना सकते हैं. (I5bb5b)
  • हमने SwipeDismissableNavHost में SwipeDismissableNavHostState पैरामीटर जोड़ा है. इससे, नेविगेशन डेस्टिनेशन के तौर पर इस्तेमाल की जाने वाली स्क्रीन पर, किनारे से स्वाइप करने की सुविधा का इस्तेमाल किया जा सकता है. ऐसा इसलिए, क्योंकि अब SwipeToDismissBoxState को उन स्क्रीन पर होस्ट किया जा सकता है जिन पर किनारे से स्वाइप करने की सुविधा की ज़रूरत होती है. साथ ही, इसका इस्तेमाल SwipeDismissableNavHostState और Modifier.edgeSwipeToDismiss, दोनों को शुरू करने के लिए किया जा सकता है. (I819f5, b/228336555)

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

  • पक्का करें कि ज़रूरत पड़ने पर घुमावदार लेआउट अपडेट किए गए हों. (Ie8bfa, b/229079150)
  • https://issuetracker.google.com/issues/226648931 (Ia0a0a, b/226648931) के लिए बग ठीक किया गया
  • ज़रूरत न होने पर एक्सपेरिमेंट के एनोटेशन हटाए गए (I88d7e)

वर्शन 1.0.0-alpha20

6 अप्रैल, 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha20, androidx.wear.compose:compose-material:1.0.0-alpha20, और androidx.wear.compose:compose-navigation:1.0.0-alpha20 रिलीज़ किए गए हैं. वर्शन 1.0.0-alpha20 में ये कमिट शामिल हैं.

नई सुविधाएं

  • SwipeToDismiss के लिए edgeSwipeToDismiss मॉडिफ़ायर जोड़ें. इस विकल्प से, swipeToDismiss को सिर्फ़ व्यूपोर्ट के बाईं ओर चालू किया जा सकता है. इस कुकी का इस्तेमाल तब किया जाता है, जब स्क्रीन के बीच के हिस्से को हॉरिज़ॉन्टल पेजिंग को हैंडल करना होता है. जैसे, मैप को दो डाइमेंशन में स्क्रोल करना या पेजों के बीच हॉरिज़ॉन्टल स्वाइप करना.(I3fcec, b/200699800)

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

  • CurvedModifiers को लागू करने का बुनियादी तरीका. इससे घुमावदार कॉन्टेंट को पसंद के मुताबिक बनाने के तरीके उपलब्ध कराए जा सकते हैं. हालांकि , अभी तक कोई CurvedModifiers उपलब्ध नहीं कराया गया है. साथ ही, कस्टम मॉडिफ़ायर बनाने की सुविधा बाद में उपलब्ध कराई जा सकती है (I9b8df)
  • बेहतर तरीके से समझने के लिए, EdgeSwipeमॉडिफ़ायर के दस्तावेज़ और डिफ़ॉल्ट वैल्यू को अपडेट किया गया है .(I6d00d)
  • Scaffold में PageIndicator स्लॉट जोड़ें. PageIndicator को सीधे तौर पर Scaffold में जोड़ने से, हम यह पक्का कर सकते हैं कि इसे गोल डिवाइसों पर सही तरीके से दिखाया जाएगा. (Ia6042)
  • InlineSlider और स्टेपर पैरामीटर से डिफ़ॉल्ट आइकॉन हटाएं. इससे डेवलपर, स्थानीय भाषा और ऐक्सेसिबिलिटी से जुड़ी ज़रूरी शर्तों पर ज़्यादा ध्यान दे पाएंगे. डिफ़ॉल्ट आइकॉन के इस्तेमाल के बारे में डेमो और सैंपल में दिखाया गया था. (I7e6fd)
  • TimeText (Iaac32) में, Trailing और Leading पैरामीटर के नामों को Start और End से बदलें
  • हमने SwipeToDismissBox ओवरलोड में onDismissed पैरामीटर जोड़ा है. इससे स्वाइप जेस्चर पूरा होने पर, नेविगेशन इवेंट को ट्रिगर करने के सामान्य इस्तेमाल में मदद मिलेगी. (I50353, b/226565726)
  • TimeText के इस्तेमाल (Ide520) से ExperimentalWearMaterialApi एनोटेशन हटा दिए गए
  • हमने ScalingLazyList/Column स्कोप और जानकारी वाले इंटरफ़ेस को सील कर दिया है, क्योंकि इन्हें बाहरी डेवलपर के लिए लागू नहीं किया गया है. इससे हमें आने वाले समय में, बाइनरी ब्रेकिंग में बदलाव किए बिना इनमें नए सदस्य जोड़ने की अनुमति मिलेगी. (I7d99f)
  • हमने Picker में एक नई flingBehaviour प्रॉपर्टी और एक PickerDefaults.flingBehaviour() तरीका जोड़ा है. इससे, फ़्लिंग के व्यवहार को कॉन्फ़िगर किया जा सकता है. जैसे, आरएसबी की सुविधा जोड़ना. PickerState अब ScrollableState इंटरफ़ेस लागू करता है. (Ib89c7)

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

  • Wear Compose लाइब्रेरी के लिए, Android Runtime (एआरटी) की बेसलाइन प्रोफ़ाइल के नियमों को अपडेट किया गया है. ART, डिवाइसों पर प्रोफ़ाइल के नियमों का इस्तेमाल कर सकता है. इससे, ऐप्लिकेशन की परफ़ॉर्मेंस को बेहतर बनाने के लिए, ऐप्लिकेशन के किसी सबसेट को पहले से कंपाइल किया जा सकता है. ध्यान दें कि इससे डीबग किए जा सकने वाले ऐप्लिकेशन पर कोई असर नहीं पड़ेगा. (Iaa8ef)
  • दस्तावेज़ को बेहतर बनाएं (I2c051)

वर्शन 1.0.0-alpha19

23 मार्च, 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha19, androidx.wear.compose:compose-material:1.0.0-alpha19, और androidx.wear.compose:compose-navigation:1.0.0-alpha19 रिलीज़ किए गए हैं. वर्शन 1.0.0-alpha19 में ये कमिट शामिल हैं.

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

  • CurvedRow का नाम बदलकर CurvedLayout कर दिया गया है. साथ ही, इसे डीएसएल के साथ स्कोप के तौर पर फिर से बनाया गया है. इस डीएसएल का इस्तेमाल करके, ज़्यादा जटिल कर्व वाले लेआउट तय किए जा सकते हैं. इसके लिए, नेस्ट किए गए curvedRow और curvedColumn की सीरीज़ का इस्तेमाल किया जाता है. ये कर्व वाले लेआउट, Row और Column के बराबर होते हैं. इन लेआउट एलिमेंट में, तीन एलिमेंट का इस्तेमाल किया जा सकता है: curvedComposable (किसी भी @Composable को जोड़ने के लिए), basicCurvedText (फ़ाउंडेशन का घुमावदार टेक्स्ट), और curvedText (वेयर मटीरियल के हिसाब से घुमावदार टेक्स्ट). (Ib776a)
  • PositionIndicator को कॉन्फ़िगर करने की सुविधा उपलब्ध कराएं. अब PositionIndicator की बुनियादी स्थिति को इस तरह कॉन्फ़िगर किया जा सकता है: End (लेआउट की दिशा के हिसाब से), OppositeRsb (फ़िज़िकल RSB के ठीक सामने खुद को रखने के लिए, स्क्रीन रोटेशन को ध्यान में रखता है) या Left & Right. (I2f1f3)
  • SwipeToDismissBox के लिए, हमने SwipeDismissTarget.Original का नाम बदलकर SwipeToDismissValue.Default और SwipeDismissTarget.Dismissal का नाम बदलकर SwipeToDismissValue.Dismissed कर दिया है. हमने SwipeToDismissBoxDefaults.BackgroundKey और SwipeToDismissBoxDefaults.ContentKey को भी क्रमशः SwipeToDismissKeys.Background और SwipeToDismissKeys.Content में ट्रांसफ़र कर दिया है. (I47a36)
  • हमने Picker में रीड-ओनली मोड जोड़ा है. यह मोड उन स्क्रीन के लिए है जिनमें एक से ज़्यादा Picker मौजूद हैं और एक बार में सिर्फ़ एक Picker में बदलाव किया जा सकता है. जब पिकर को सिर्फ़ पढ़ने के लिए सेट किया जाता है, तब यह मौजूदा समय में चुने गए विकल्प को दिखाता है. साथ ही, अगर कोई लेबल दिया गया है, तो उसे भी दिखाता है. (I879de)
  • SwipeToDismissBoxState को फिर से फ़ैक्टर किया गया है, ताकि ExperimentalWearMaterialApi के स्कोप को Modifier.swipeable और SwipeableState तक सीमित किया जा सके. इनका इस्तेमाल अब अंदरूनी तौर पर किया जाता है. SwipeToDismissBoxState के पास अब currentValue, targetValue, isAnimationRunning, और snapTo सदस्य हैं, ताकि सामान्य इस्तेमाल के मामलों में मदद की जा सके. अगर आपको कोई और प्रॉपर्टी उपलब्ध करानी है, तो कृपया हमें बताएं. इसके अलावा, हमने SwipeableState के उस व्यवहार को भी ठीक किया है जिसमें स्वाइप ऑफ़सेट, ऐंकर की राउंडिंग की गड़बड़ी के दायरे में होता है. (I58302)

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

  • ScalingLazyColumn के कॉन्टेंट को स्क्रोल किया जा सकता है या नहीं, यह पता लगाने के लिए आसान बनाया गया और ठीक किया गया कोड. इसका इस्तेमाल यह तय करने के लिए किया जाता है कि हम स्क्रोलबार दिखाएं या नहीं (I7bce0)
  • एक से ज़्यादा स्थितियों के साथ इस्तेमाल करने और उनके बीच स्विच करने पर, पोज़िशन इंडिकेटर में मौजूद गड़बड़ी को ठीक किया गया (I320b5)
  • हमने Compose for Wear OS की डिफ़ॉल्ट थीम के टाइपोग्राफ़ी/फ़ॉन्ट को अपडेट किया है, ताकि यह हमारे यूज़र एक्सपीरियंस से जुड़े नए दिशा-निर्देशों के मुताबिक हो. ध्यान दें कि display1 (40.sp) और display2 (34.sp) अब अपनी पिछली वैल्यू से छोटे हैं. साथ ही, लाइन की ऊंचाई और लाइन के बीच की दूरी में कई अन्य छोटे-मोटे अपडेट किए गए हैं. (Ie3077)
  • हमने SwipeToDismissBox में स्वाइप करने पर होने वाले मोशन को कम कर दिया है, ताकि मोशन सिर्फ़ तब हो, जब सूचना को खारिज करने के लिए स्वाइप किया जाए. ऐसा विपरीत दिशा में स्वाइप करने पर न हो. (Ifdfb9)
  • हमने CircularProgressIndicator फ़ंक्शन के लिए, डिफ़ॉल्ट पैरामीटर की कुछ वैल्यू में बदलाव किया है, ताकि उन्हें Wear के लिए Material Design के यूज़र एक्सपीरियंस (यूएक्स) से जुड़े दिशा-निर्देशों के मुताबिक बनाया जा सके. स्पिनर/अनिश्चितता वाले वर्शन के लिए, साइज़ (40->24.dp), indicatorColor (primary->onBackground), trackColor की पारदर्शिता (30%->10%), और स्ट्रोक की चौड़ाई (4->3dp) को अपडेट किया गया है. प्रोग्रेस/डिटरमिनेट वर्शन के लिए, trackColor की ट्रांसपेरेंसी (30%->10%) को अपडेट किया गया है. (I659cc)
  • हमने ScalingLazyColumn के डिफ़ॉल्ट स्केलिंग पैरामीटर को Wear के नए Material Design UX स्पेसिफ़िकेशन के मुताबिक अपडेट कर दिया है. इससे सूची के आइटम, सूची के बीच के हिस्से के ज़्यादा करीब दिखने लगते हैं. हालांकि, सूची के किनारे पर ये पहले से कम दिखते हैं. (Ica8f3)
  • ऐनिमेशन के आखिर में सुधार करने के लिए, ScalingLazyColumnDefaults.snapFlingBehavior में कुछ बदलाव किए गए हैं (If3260)

वर्शन 1.0.0-alpha18

9 मार्च, 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha18, androidx.wear.compose:compose-material:1.0.0-alpha18, और androidx.wear.compose:compose-navigation:1.0.0-alpha18 रिलीज़ किए गए हैं. वर्शन 1.0.0-alpha18 में ये कमिट शामिल हैं.

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

  • PositionIndicator में कई सुधार किए गए हैं: ShowResult का नाम बदलकर PositionIndicatorVisibility कर दिया गया है. परफ़ॉर्मेंस को बेहतर बनाने के लिए कुछ बदलाव किए गए हैं, ताकि जब ज़रूरत न हो, तब फिर से हिसाब न लगाना पड़े (Iaed9d)
  • SplitToggleChip के लिए सुझाई गई कलर स्कीम को अपडेट कर दिया गया है. SplitToggleChip में अब चेक किए जाने या अनचेक किए जाने पर, एक ही रंग का बैकग्राउंड होता है. ToggleControl के रंग से यह पता चलता है कि कॉम्पोनेंट को चेक किया गया है या नहीं. हमने नई कलर स्कीम के साथ काम करने के लिए, एक नया ToggleDefaults.splitToggleChipColors() जोड़ा है. हमने toggleChipColors() के तरीकों को भी आसान बना दिया है. साथ ही, splitBackgroundOverlayColor (I7e66e) को हटा दिया है
  • हमने ScalingLazyListItemInfo में unadjustedSize को जोड़ा है, क्योंकि फ़्लोट मैथ्स की सटीक जानकारी की वजह से, स्केल किए गए साइज़ और स्केलिंग फ़ैक्टर का इस्तेमाल करके, सामान के ओरिजनल साइज़ का हिसाब लगाना सुरक्षित नहीं है. (I54657, b/221079441)
  • HorizontalPageIndicator जोड़ें. यह पेजों की कुल संख्या और चुने गए पेज को दिखाता है. यह डिवाइस के आकार के हिसाब से, सीधी या घुमावदार हो सकती है. इसमें कस्टम इंडिकेटर शेप का भी इस्तेमाल किया जा सकता है. इससे यह तय किया जाता है कि हर इंडिकेटर को विज़ुअल तौर पर कैसे दिखाया जाए. (Iac898)
  • हमने PickerState को अपडेट कर दिया है, ताकि numberOfOptions को अपडेट किया जा सके. यह DatePicker जैसे इस्तेमाल के उदाहरणों के साथ काम करता है. इसमें, चुने गए महीने के हिसाब से महीने में दिनों की संख्या बदल जाती है. PickerState के कंस्ट्रक्टर पैरामीटर को बदलकर, initialNumberOfOptions कर दिया गया है. (Iad066)
  • जब स्क्रोलबार हो और स्क्रोल न किया जा सके, तब PositionIndicator को छिपाएं. (Id0a7f)
  • Scaffold के साथ एक जैसा अनुभव देने के लिए, हमारे फ़ुल-स्क्रीन डायलॉग कॉम्पोनेंट में अब PositionIndicator और Vignette दिखता है. अब हम Column के बजाय ScalingLazyColumn का इस्तेमाल कर रहे हैं. इसका मतलब है कि डायलॉग का कॉन्टेंट अब ScalingLazyListScope में है. आम तौर पर, इसे आइटम { /* content */ } में शामिल करना होता है. डायलॉग, verticalArrangement पैरामीटर के साथ काम करता है. (Idea13)
  • हमने ToggleChip और SplitToggleChip toggleIcon प्रॉपर्टी का नाम बदलकर toggleControl कर दिया है, ताकि डिज़ाइनर और डेवलपर को एपीआई को नेविगेट करने में आसानी हो. ऐसा Material Design के साथ बेहतर तरीके से काम करने के लिए किया गया है. (If5921, b/220129803)
  • हमने Wear की मटीरियल थीम टाइपोलॉजी में एक नया कैप्शन3 जोड़ा है. कैप्शन3 एक छोटा फ़ॉन्ट है. इसका इस्तेमाल कानूनी टेक्स्ट जैसे लंबे टेक्स्ट के लिए किया जाता है. (I74b13, b/220128356)

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

  • जब हम उस जगह पर पहुंच जाएं, तो स्नैपिंग ऐनिमेशन बंद कर दें. (Idb69d)
  • PositionIndicator में हुए बदलावों को ऐनिमेट करता है. (I94cb9)
  • यूआई/यूएक्स के बारे में मिले सुझावों के आधार पर, हमने ScalingLazyColumn autoCentering में बदलाव किया है. इससे यह पक्का किया जा सकेगा कि इंडेक्स ScalingLazyListState.initialCenterItemIndex या इससे ज़्यादा वाले आइटम, व्यूपोर्ट के बीच में पूरी तरह से स्क्रोल किए जा सकें. इससे डेवलपर, आइटम के बारे में एक या दो आइटम को शुरू में सेंटर में रख सकते हैं. इन्हें बीच में स्क्रोल नहीं किया जा सकता. इसका मतलब है कि autoCenter'ing ScalingLazyColumn, initialCenterItemIndex/initialCenterItemScrollOffset (I22ee2) से ऊपर स्क्रोल नहीं कर पाएगा
  • हमने तारीख चुनने वाले टूल का डेमो जोड़ा है. साथ ही, हमने PickerState में मौजूद एक बग को ठीक किया है. इस बग की वजह से, Picker के दिखने तक initiallySelectedOption लागू नहीं होता था. (Id0d7e)
  • गोल स्क्रीन पर ज़्यादा चौड़े ScalingLazyColumn आइटम के कटने की समस्या को कम करने के लिए, हमने कॉन्टेंट के डिफ़ॉल्ट हॉरिज़ॉन्टल पैडिंग को 8 से बढ़ाकर 10 डीपी कर दिया है. (I0d609)
  • पक्का करें कि स्क्रोल करते समय PositionIndicator दिखे. (Ied9a2)

वर्शन 1.0.0-alpha17

23 फ़रवरी, 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha17, androidx.wear.compose:compose-material:1.0.0-alpha17, और androidx.wear.compose:compose-navigation:1.0.0-alpha17 रिलीज़ किए गए हैं. वर्शन 1.0.0-alpha17 में ये कमिट शामिल हैं.

नई सुविधाएं

  • हमने स्नैप सपोर्ट जोड़ा है, जिसका इस्तेमाल ScalingLazyColumn के साथ किया जा सकता है. स्नैप सपोर्ट चालू करने के लिए, flingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state) को सेट करें. (I068d3, b/217377069)
  • हमने ऐसे पिकर के डेमो जोड़े हैं जिनका इस्तेमाल 24 घंटे या 12 घंटे की घड़ी में समय चुनने के लिए किया जाता है. (Ie5552)

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

  • स्क्वेयर डिवाइस पर TimeText कस्टम फ़ॉन्ट और स्टाइल से जुड़ी समस्या ठीक की गई (Iea76e)
  • ScalingLazyListLayoutInfo में अब reverseLayout, viewportSize, और ओरिएंटेशन प्रॉपर्टी हैं. ये प्रॉपर्टी, LazyListLayoutInfo (I4f258, b/217917020) से मेल खाती हैं
  • ScalingLazyColumn के पास अब userScrollEnabled प्रॉपर्टी है, जो LazyList (I164d0, b/217912513) से मेल खाती है
  • अब पिकर में डिफ़ॉल्ट रूप से ऊपर और नीचे की ओर ग्रेडिएंट होता है (Iab92a)

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

  • हमने ScalingLazyColumn में बदलाव किया है, ताकि यह अब अपने पैरंट के सभी स्पेस को न भरे. इसके बजाय, यह अपने कॉन्टेंट के साइज़ के हिसाब से साइज़ तय करेगा. इससे LazyColumn के व्यवहार में एकरूपता बनी रहती है. अगर आपको पुराने वर्शन के हिसाब से काम करना है, तो ScalingLazyColumn (I51bf8) को Modifier.fillMaxWidth()/width()/widthIn() पास करें
  • हमने SwipeDismissableNavHost.kt में अपवाद के मैसेज को बेहतर बनाया है. यह मैसेज तब ट्रिगर होता था, जब नेविगेशन बैकस्टैक खाली होता था. (I1b1dc)

वर्शन 1.0.0-alpha16

9 फ़रवरी, 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha16, androidx.wear.compose:compose-material:1.0.0-alpha16, और androidx.wear.compose:compose-navigation:1.0.0-alpha16 रिलीज़ किए गए हैं. वर्शन 1.0.0-alpha16 में ये कमिट शामिल हैं.

नई सुविधाएं

  • CircularProgressIndicator जोड़ें. प्रोग्रेस इंडिकेटर से, किसी प्रोसेस की अवधि या इंतज़ार करने का समय दिखता है. अगर फ़ुल-स्क्रीन का इस्तेमाल किया जाता है, तो TimeText या अन्य कॉम्पोनेंट के लिए गैप (कटआउट) की सुविधा काम करती है. (Iab8da)

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

  • अब पिकर में flingBehavior पैरामीटर होता है. इसकी डिफ़ॉल्ट वैल्यू की वजह से, स्क्रोल/फ़्लिंग करते समय पिकर सबसे नज़दीकी विकल्प पर स्नैप हो जाते हैं. (I09000)
  • InlineSlider और Stepper के लिए अतिरिक्त पूर्णांक एपीआई (I1b5d6)

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

  • हमने ScalingLazyListState के लिए, डिफ़ॉल्ट initialCenterItemIndex को 0->1 में बदल दिया है. इसका मतलब है कि अगर ScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =) का इस्तेमाल करके, स्टेट कंस्ट्रक्शन को बदला नहीं जाता है, तो दूसरी सूची का आइटम (index == 1) व्यूपोर्ट के बीच में रखा जाएगा. साथ ही, पहली सूची का आइटम (index == 0) इसके पहले रखा जाएगा. इससे, डिफ़ॉल्ट रूप से बेहतर विज़ुअल इफ़ेक्ट मिलता है, क्योंकि व्यूपोर्ट का ज़्यादातर हिस्सा सूची आइटम से भर जाता है. (I0c623, b/217344252)
  • हमने ScalingLazyColumn डिफ़ॉल्ट extraPadding को कम कर दिया है, ताकि यह पक्का किया जा सके कि सूची में कई आइटम मौजूद हों. भले ही, हम उनमें से कुछ के साइज़ को 10% से 5% तक कम कर रहे हों. इससे सूची में ऐसे आइटम नहीं जोड़े जाएंगे जो व्यूपोर्ट में नहीं दिखते. अगर non standard scalingParams का इस्तेमाल किया जा रहा है (उदाहरण के लिए, ज़्यादा एक्सट्रीम स्केलिंग), तो डेवलपर viewportVerticalOffsetResolver का इस्तेमाल करके, अतिरिक्त पैडिंग को अडजस्ट कर सकता है. (I76be4)
  • स्क्वेयर डिवाइस (Ibd3fb) पर, TimeText को कई लाइनों में दिखाने से जुड़ी समस्या ठीक की गई
  • हमने ScalingLazyColumn में बदलाव किया है, ताकि यह अब अपने पैरंट के सभी स्पेस को न भरे. इसके बजाय, यह अपने कॉन्टेंट के साइज़ के हिसाब से साइज़ तय करेगा. इससे यह LazyColumn के व्यवहार के मुताबिक काम करता है. अगर आपको पुराने वर्शन की सुविधा फिर से चालू करनी है, तो ScalingLazyColumn को Modifier.fillMaxSize() पास करें - ध्यान दें: यह बदलाव पूरा नहीं हुआ है. इसे अगले ऐल्फ़ा वर्शन में ठीक किया जाएगा. (I3cbfa)

वर्शन 1.0.0-alpha15

26 जनवरी, 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha15, androidx.wear.compose:compose-material:1.0.0-alpha15, और androidx.wear.compose:compose-navigation:1.0.0-alpha15 रिलीज़ किए गए हैं. वर्शन 1.0.0-alpha15 में ये कमिट शामिल हैं.

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

  • हमने ScalingLazyColumn में एक नई प्रॉपर्टी autoCentering जोड़ी है. जब इसे सही (डिफ़ॉल्ट) पर सेट किया जाता है, तो यह पक्का हो जाता है कि पहले और आखिरी आइटम सहित सभी आइटम को स्क्रोल किया जा सकता है, ताकि वे सूचियों के व्यूपोर्ट के बीच में दिखें. ध्यान दें कि ऑटो-सेंटरिंग का इस्तेमाल करते समय, आपको वर्टिकल कॉन्टेंट पैडिंग को 0.dp पर सेट करना होगा. अगर autoCentering और vertical content padding, दोनों उपलब्ध कराए जाते हैं, तो इससे पहली और आखिरी सूची आइटम से पहले और बाद में अतिरिक्त जगह उपलब्ध होगी. इससे उन्हें और भी ज़्यादा स्क्रोल किया जा सकेगा. (I2a282, b/214922490)
  • हमने एक Dialog कॉम्पोनेंट जोड़ा है. इससे किसी भी कंपोज़ेबल को फ़ुल स्क्रीन डायलॉग ट्रिगर करने की सुविधा मिलती है. यह डायलॉग, अन्य कॉन्टेंट के ऊपर दिखता है. दिखाए जाने पर, डायलॉग को स्वाइप करके खारिज किया जा सकता है. साथ ही, स्वाइप करने के दौरान, यह अपने पैरंट का कॉन्टेंट बैकग्राउंड में दिखाएगा. डायलॉग का कॉन्टेंट Alert या Confirmation (पहले के कॉम्पोनेंट AlertDialog और ConfirmationDialog का नाम बदलकर Alert और Confirmation कर दिया गया है) होना चाहिए. Alert, Confirmation, और Dialog, सभी androidx.wear.compose.material.dialog पैकेज में हैं. सूचना और पुष्टि को नेविगेशन डेस्टिनेशन के तौर पर इस्तेमाल किया जा सकता है. इसके अलावा, ज़रूरत के मुताबिक सूचना और पुष्टि वाले पैरामीटर में ColumnScope जोड़ा गया है. (Ia9014)
  • हमने Compose for WearOS Material Theme Colors से onSurfaceVariant2 को हटा दिया है. साथ ही, लाइब्रेरी में इसके इस्तेमाल को onSurfaceVariant से बदल दिया है. (Icd592)
  • PickerState पर प्रोग्राम के हिसाब से कोई विकल्प चुनने का तरीका जोड़ा गया है. अब PickerState बनाते समय, शुरू में चुने गए विकल्प के बारे में भी बताया जा सकता है. (I92bdf)
  • हमने ScalingLazyColumn के फ़्लिंग के तरीके को पसंद के मुताबिक बनाने की सुविधा जोड़ी है. (I1ad2e, b/208842968)
  • हमने NavController.currentBackStackEntryAsState() को Wear.Compose.Navigation लाइब्रेरी में जोड़ दिया है. (If9028, b/212739653)
  • रोटेटिंग साइड बटन वाले Wear डिवाइसों के लिए, Modifier.onRotaryScrollEvent() और Modifier.onPreRotaryScrollEvent() जोड़ा गया.(I18bf5, b/210748686)

वर्शन 1.0.0-alpha14

12 जनवरी, 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha14, androidx.wear.compose:compose-material:1.0.0-alpha14, और androidx.wear.compose:compose-navigation:1.0.0-alpha14 रिलीज़ किए गए हैं. वर्शन 1.0.0-alpha14 में ये कमिट शामिल हैं.

नई सुविधाएं

  • हमने ScalingLazyListState में कई तरीके जोड़े हैं, ताकि डेवलपर को सूची के किसी आइटम पर स्क्रोल करने की सुविधा को कंट्रोल करने की अनुमति दी जा सके. साथ ही, सूची के शुरुआती आइटम और ऑफ़सेट को सेट करने की अनुमति दी जा सके.

    इस बदलाव के तहत, हमने ScalingLazyList में भी बदलाव किया है, ताकि यह व्यूपोर्ट की शुरुआत के बजाय, ScalingLazyList के व्यूपोर्ट के बीच में अलाइन हो.

    ScalingLazyList में एक नई प्रॉपर्टी anchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter जोड़ी गई है. इससे यह कंट्रोल किया जा सकेगा कि सेंटर (ScalingLazyListAnchorType.ItemCenter) या Edge (ScalingLazyListAnchorType.ItemStart) को व्यूपोर्ट की सेंटरलाइन के साथ अलाइन किया जाना चाहिए या नहीं.

    इस वजह से, ScalingLazyListItemInfo.offset और ScalingLazyListItemInfo.adjustedOffset बदल गए हैं. अब ये, सूची में मौजूद आइटम की पोज़िशन और सूची के anchorType के हिसाब से आइटम के ऑफ़सेट को दिखाएंगे. उदाहरण के लिए, अगर किसी ScalingLazyColumn का anchorType ItemCenter है और सूची में मौजूद किसी आइटम को व्यूपोर्ट की सेंटरलाइन पर रखा गया है, तो ऑफ़सेट 0 होगा.

    नए तरीके scrollTo, animatedScrollTo, centerItemIndex, और centerItemOffset हैं. (I61b61)

  • हमने SwipeDismissableNavHost में 'वापस जाएं' बटन हैंडलर जोड़ा है, ताकि 'वापस जाएं' बटन दबाने पर, नेविगेशन के क्रम में पिछले लेवल पर जाया जा सके. (I5b086, b/210205624)

वर्शन 1.0.0-alpha13

15 दिसंबर, 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha13, androidx.wear.compose:compose-material:1.0.0-alpha13, और androidx.wear.compose:compose-navigation:1.0.0-alpha13 रिलीज़ किए गए हैं. वर्शन 1.0.0-alpha13 में ये कमिट शामिल हैं.

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

  • हमने RangeIcons को इंटरनल (InlineSlider और Stepper के ज़रिए इंटरनल तौर पर रेफ़र किया गया) के तौर पर मार्क किया है. (I927ec)

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

  • उस समस्या को ठीक किया गया है जिसमें SwipeDismissableNavHost, कंपोज़ करने की प्रोसेस में डेस्टिनेशन को CREATED लाइफ़साइकल की स्थिति में पहुंचने से पहले ही जोड़ देता था. इससे IllegalStateException की समस्या होती थी. navigation-compose पर निर्भरता को 2.4.0-beta02 और इसके बाद के वर्शन पर अपडेट करने के लिए, इस समस्या को ठीक करना ज़रूरी था. (I40a2b, b/207328687)

  • Wear Compose लाइब्रेरी में ड्रॉ किए जा सकने वाले संसाधन पाने के लिए, Drawables enum क्लास जोड़ी गई है. इससे अब रिफ़्लेक्शन की ज़रूरत नहीं होगी. इस अपडेट में, उस गड़बड़ी को ठीक किया गया है जिसमें minifyEnabled=true या shrinkResources=true होने पर, लाइब्रेरी के ड्रॉएबल हटा दिए जाते थे. (Ib2a98)

  • Wear Compose (I2d03a) में Stepper के लिए टेस्ट जोड़े गए

  • Wear Compose Navigation में SwipeDismissableNavHost के लिए सैंपल जोड़े गए. (I85f06)

वर्शन 1.0.0-alpha12

1 दिसंबर, 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha12, androidx.wear.compose:compose-material:1.0.0-alpha12, और androidx.wear.compose:compose-navigation:1.0.0-alpha12 रिलीज़ किए गए हैं. वर्शन 1.0.0-alpha12 में ये कमिट शामिल हैं.

नई सुविधाएं

  • हमने एक स्टेपर कॉम्पोनेंट जोड़ा है. इससे उपयोगकर्ता, वैल्यू की किसी रेंज में से कोई वैल्यू चुन सकते हैं. स्टेपलर, पूरी स्क्रीन पर दिखने वाला कंट्रोल होता है. इसमें सबसे ऊपर और सबसे नीचे, वैल्यू बढ़ाने और घटाने वाले बटन होते हैं. साथ ही, बीच में एक स्लॉट होता है. इसमें चिप या टेक्स्ट दिख सकता है. ज़रूरत पड़ने पर, बटन के आइकॉन को पसंद के मुताबिक बनाया जा सकता है. (I625fe)

  • हमने डायलॉग दिखाने के लिए, दो नए कंपोज़ेबल जोड़े हैं: AlertDialog, उपयोगकर्ता से जवाब मिलने का इंतज़ार करता है. साथ ही, यह टाइटल, आइकॉन, मैसेज दिखाता है. इसके अलावा, यह a) सकारात्मक/नकारात्मक विकल्पों के लिए दो बटन या b) ज़्यादा विकल्पों के लिए, वर्टिकल तरीके से स्टैक किए गए चिप या टॉगल चिप दिखाता है, ConfirmationDialog, टाइम आउट के साथ एक सूचना दिखाता है. इस आसान डायलॉग में, टाइटल और (ऐनिमेटेड) आइकॉन के लिए स्लॉट होते हैं. (Ic2cf8)

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

  • डायलॉग बॉक्स के दिखने की सुझाई गई अवधि की वैल्यू में यूनिट (मिलीसेकंड) जोड़ी गईं. (I09b48)

वर्शन 1.0.0-alpha11

17 नवंबर, 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha11, androidx.wear.compose:compose-material:1.0.0-alpha11, और androidx.wear.compose:compose-navigation:1.0.0-alpha11 रिलीज़ किए गए हैं. वर्शन 1.0.0-alpha11 में ये कमिट शामिल हैं.

नई सुविधाएं

  • हमने एक पिकर कॉम्पोनेंट जोड़ा है. इससे उपयोगकर्ता, स्क्रोल की जा सकने वाली सूची से कोई आइटम चुन सकता है. डिफ़ॉल्ट रूप से, चुने जा सकने वाले आइटम की सूची को दोनों दिशाओं में 'अनंत' बार दोहराया जाता है, ताकि साइड से देखने पर घूमने वाले सिलेंडर का इफ़ेक्ट दिखे. बाद के वर्शन में दो सुविधाएं जोड़ी जाएंगी: स्वाइप/फ़्लिंग करने के बाद किसी वैल्यू पर स्नैप करना; PickerState में कोई फ़ंक्शन जोड़ना, ताकि मौजूदा वैल्यू को सेट/स्क्रोल किया जा सके. (I6461b)

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

  • ScalingLazyItemScope जोड़ा गया है. साथ ही, कुछ नए मॉडिफ़ायर fillParentMaxSize/fillParentMaxWidth/fillParentMaxHeight जोड़े गए हैं. इनकी मदद से, सूची में शामिल आइटम का साइज़, पैरंट कंटेनर के साइज़ के हिसाब से तय किया जा सकता है. आइटम को पैरंट के साइज़ के हिसाब से पूरा या कुछ हिस्सा भरने के लिए सेट किया जा सकता है. इससे LazyRow/Column (I4612f) में पहले से उपलब्ध सुविधा का पता चलता है
  • ScalingLazyColumn में, आइटम को कुंजी देने की सुविधा जोड़ी गई. साथ ही, ऐरे और सूचियों से आइटम जोड़ने की सुविधा देने वाले तरीके भी जोड़े गए हैं. (Ic1f89)

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

  • TimeText (I8cb64) के अन्य उदाहरण

वर्शन 1.0.0-alpha10

3 नवंबर, 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha10, androidx.wear.compose:compose-material:1.0.0-alpha10, और androidx.wear.compose:compose-navigation:1.0.0-alpha10 रिलीज़ किए गए हैं. वर्शन 1.0.0-alpha10 में ये कमिट शामिल हैं.

नई सुविधाएं

  • वियर कंपोज़ के लिए InlineSlider जोड़ा गया. InlineSlider की मदद से, उपयोगकर्ता कई वैल्यू में से कोई वैल्यू चुन सकते हैं. चुने गए विकल्पों की रेंज को, रेंज की कम से कम और ज़्यादा से ज़्यादा वैल्यू के बीच एक बार के तौर पर दिखाया जाता है. इससे लोग किसी भी वैल्यू को चुन सकते हैं. (If0148)

  • WearOS के लिए Compose Codelab का नया वर्शन देखें!

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

  • मैक्रोबेंचमार्क में अब minSdkVersion का 23 है. (If2655)

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

  • SideEffect में SwipeDismissableNavHost में ट्रांज़िशन हैंडलिंग को अपडेट किया गया (I04994, b/202863359)
  • SwipeDismissableNavHost में ट्रांज़िशन हैंडलिंग को अपडेट किया गया (I1cbe0, b/202863359)

वर्शन 1.0.0-alpha09

27 अक्टूबर, 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha09, androidx.wear.compose:compose-material:1.0.0-alpha09, और androidx.wear.compose:compose-navigation:1.0.0-alpha09 रिलीज़ किए गए हैं. वर्शन 1.0.0-alpha09 में ये कमिट शामिल हैं.

नई सुविधाएं

  • हमने Wear OS पर Compose की डेवलपर प्रीव्यू सुविधा लॉन्च की है. हमारी ब्लॉग पोस्ट देखें. इसमें मुख्य कंपोज़ेबल की समीक्षा की गई है. साथ ही, उन्हें इस्तेमाल करने के लिए अन्य संसाधनों के लिंक दिए गए हैं.

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

  • हमने डेवलपर के लिए, Wear Material Design Color थीम के सभी रंगों को पसंद के मुताबिक बनाने की सुविधा जोड़ी है. (I4759b, b/199754668)

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

  • SwipeToDismissBox के ऐसे सैंपल जोड़े गए हैं जो स्थिति बनाए रखते हैं (Ibaffe)
  • CurvedText, TimeText, और SwipeToDismissBox के लिए, KDocs से developer.android.com की गाइड के लिंक जोड़े गए. (I399d4)
  • अगर कोई मौजूदा डेस्टिनेशन नहीं है, तो SwipeDismissableNavHost अब गड़बड़ी दिखाता है. इससे पता चलता है कि NavGraph को wear.compose.navigation.composable यूटिलिटी फ़ंक्शन के साथ नहीं बनाया गया था (I91403)
  • TimeText (I4f6f0) में टाइम सोर्स के इस्तेमाल के बारे में ज़्यादा दस्तावेज़ और उदाहरण जोड़े गए

वर्शन 1.0.0-alpha08

13 अक्टूबर, 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha08, androidx.wear.compose:compose-material:1.0.0-alpha08, और androidx.wear.compose:compose-navigation:1.0.0-alpha08 रिलीज़ किए गए हैं. वर्शन 1.0.0-alpha08 में ये कमिट शामिल हैं.

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

  • हमने AppCard और TitleCard body प्रॉपर्टी का नाम बदलकर content कर दिया है. साथ ही, हमने इन्हें प्रॉपर्टी की सूची के आखिर में ले जाकर, ट्रेलिंग लैम्डा के तौर पर उपलब्ध कराया है. नए स्लॉट के नामों के साथ एक जैसा नाम रखने के लिए, bodyColor का नाम बदलकर contentColor कर दिया गया है. (I57e78)

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

  • बटन, कार्ड, चिप, थीम, पोज़िशन इंडिकेटर, और स्केलिंग लेज़ी कॉलम कॉम्पोनेंट के लिए, KDocs से developer.android.com की गाइड के लिंक जोड़े गए. (I22428)
  • WearOS SwipeToDismissBox में स्वाइप करने की सुविधा कभी-कभी काम नहीं करती. इस समस्या को ठीक किया गया. (I9387e)
  • बटन, CompactButton, चिप, CompactChip, AppCard, TitleCard, ToggleButton, ToggleChip, SplitToggleChip के लिए सैंपल जोड़े गए (Iddc15)
  • Card, Chip, ToggleChip, TimeText, और ScalingLazyColumn के लिए, माइक्रोबेंचमार्क परफ़ॉर्मेंस टेस्ट जोड़े गए हैं. (If2fe9)

वर्शन 1.0.0-alpha07

29 सितंबर, 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha07, androidx.wear.compose:compose-material:1.0.0-alpha07, और androidx.wear.compose:compose-navigation:1.0.0-alpha07 रिलीज़ किए गए हैं. वर्शन 1.0.0-alpha07 में ये कमिट शामिल हैं.

नई सुविधाएं

  • मटीरियल में CurvedText कॉम्पोनेंट जोड़ा गया है. यह एक ऐसा कॉम्पोनेंट है जिसकी मदद से डेवलपर, सर्कल के घुमाव के हिसाब से आसानी से घुमावदार टेक्स्ट लिख सकते हैं. आम तौर पर, यह कॉम्पोनेंट गोल स्क्रीन के किनारे पर होता है. (I19593)

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

  • TimeText (Idfead) के लिए टेस्ट जोड़े गए
  • ArcPaddingValues को इंटरफ़ेस में बदलें. (Iecd4c)
  • SwipeToDismissBox में ऐनिमेशन जोड़ा गया (I9ad1b)
  • SwipeToDismissBox API में hasBackground पैरामीटर जोड़ा गया है, ताकि स्वाइप करने के जेस्चर को तब बंद किया जा सके, जब दिखाने के लिए कोई बैकग्राउंड कॉन्टेंट न हो. (I313d8)
  • rememberNavController() अब Navigator के इंस्टेंस का एक वैकल्पिक सेट लेता है. इसे लौटाए गए NavController में जोड़ा जाएगा, ताकि Accompanist Navigation Material जैसे वैकल्पिक नेविगेटर को बेहतर तरीके से सपोर्ट किया जा सके. (I4619e)
  • navigation-common से NamedNavArgument का रेफ़रंस दें और wear.compose.navigation से कॉपी हटाएं. (I43af6)

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

  • छोटे डिवाइसों पर CurvedRow टेस्ट के फ़ेल होने की समस्या ठीक की गई. (If7941)
  • कॉन्टेंट अपडेट होने पर, CurvedRow में फ़्लिकरिंग की समस्या ठीक की गई है. साथ ही, यह पक्का किया गया है कि CurvedRow को फिर से मापा गया हो (Ie4e06)
  • UX स्पेसिफ़िकेशन में हुए बदलावों के मुताबिक, ChipDefaults.gradientBackgroundChipColors() को अपडेट कर दिया गया है. अब ग्रेडिएंट, MaterialTheme.colors.primary से शुरू होता है. इसमें ऐल्फ़ा 32.5% होता है. यह MaterialTheme.colors.surface पर खत्म होता है. इसमें ऐल्फ़ा @ 0% होता है. यह MaterialTheme.colors.surface @ 75% ऐल्फ़ा के बैकग्राउंड पर होता है. (Id1548)
  • हमने चुने गए टॉगलचिप के रंगों को अपडेट किया है, ताकि वे Wear के लिए बने नए मटीरियल डिज़ाइन के यूज़र एक्सपीरियंस (यूएक्स) से जुड़े दिशा-निर्देशों के मुताबिक हों. चुने गए ToggleChips में अब MaterialTheme.color.surface @ 0% ऐल्फ़ा, सबसे ऊपर बाईं ओर से लेकर MaterialTheme.color.primary @ 32% ऐल्फ़ा, सबसे नीचे दाईं ओर तक ग्रेडिएंट बैकग्राउंड है. यह MaterialTheme.color.surface @ 75% ऐल्फ़ा के बैकग्राउंड पर है. इससे, ToggleChip के लिए चुने गए और नहीं चुने गए आइटम के बीच का अंतर कम हो जाता है. (Idd40b)

वर्शन 1.0.0-alpha06

15 सितंबर, 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha06, androidx.wear.compose:compose-material:1.0.0-alpha06, और androidx.wear.compose:compose-navigation:1.0.0-alpha06 रिलीज़ किए गए हैं. वर्शन 1.0.0-alpha06 में ये कमिट शामिल हैं.

नई सुविधाएं

  • हमने टॉप लेवल का ऐप्लिकेशन कंपोज़ेबल Scaffold जोड़ा है. यह PositionIndicators (जैसे कि स्क्रोल या वॉल्यूम) की पोज़िशन को मैनेज करने के लिए स्ट्रक्चर उपलब्ध कराता है. साथ ही, यह स्क्रीन के सबसे ऊपर मौजूद उस हिस्से को मैनेज करता है जहां समय और ऐप्लिकेशन की स्थिति दिखती है. इसके अलावा, यह स्क्रोल किए जा सकने वाले कॉन्टेंट के लिए, स्क्रीन के सबसे ऊपर और सबसे नीचे वाले हिस्से को धुंधला करने की सुविधा भी देता है. Scaffold का मुख्य हिस्सा वह होता है जहां ऐप्लिकेशन का कॉन्टेंट रखा जाता है. (I5e0bf)
  • Wear Compose के लिए TimeText लागू करने की सुविधा जोड़ी गई (I5654c)

Wear Compose Navigation Library

  • हमने Wear Compose Navigation लाइब्रेरी की पहली रिलीज़ जोड़ी है. यह Wear Compose और Androidx Navigation लाइब्रेरी के बीच इंटिग्रेशन उपलब्ध कराती है. यह आपके ऐप्लिकेशन में डेस्टिनेशन के तौर पर @Composable फ़ंक्शन के बीच नेविगेट करने का आसान तरीका उपलब्ध कराता है.

  • इस शुरुआती रिलीज़ में ये सुविधाएं उपलब्ध हैं:

    • SwipeDismissableNavHost एक कंपोज़ेबल है, जो नेविगेशन ग्राफ़ को होस्ट करता है. साथ ही, स्वाइप जेस्चर की मदद से पीछे जाने की सुविधा देता है
    • NavGraphBuilder.composable एक्सटेंशन, नेविगेशन ग्राफ़ बनाने में मदद करता है
    • rememberSwipeDismissableNavController() को स्टेट होइस्ट करने की अनुमति दें
  • इस्तेमाल का उदाहरण, जिसमें हम दो स्क्रीन बनाते हैं और उनके बीच नेविगेट करते हैं:

    val navController = rememberSwipeDismissableNavController()
    SwipeDismissableNavHost(
        navController = navController,
        startDestination = "start"
    ) {
        composable("start") {
            Column(
                horizontalAlignment = Alignment.CenterHorizontally,
                verticalArrangement = Arrangement.Center,
                modifier = Modifier.fillMaxSize(),
            ) {
                Button(onClick = { navController.navigate("next") }) {
                    Text("Go")
                }
            }
        }
        composable("next") {
            Column(
                horizontalAlignment = Alignment.CenterHorizontally,
                verticalArrangement = Arrangement.Center,
                modifier = Modifier.fillMaxSize(),
            ) {
                Text("Swipe to go back")
            }
        }
    }
    
  • Wear Compose Navigation को एक अलग लाइब्रेरी के तौर पर पैकेज किया गया है, ताकि WearCompose के उन ऐप्लिकेशन को AndroidX Navigation लाइब्रेरी पर निर्भर न रहना पड़े जो खुद के नेविगेशन को लागू करते हैं.

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

  • बैकग्राउंड और कॉन्टेंट (I746fd) के लिए मुख्य पहचान सेट करके, SwipeDismissableNavHost को rememberSaveable के साथ काम करने के लिए अपडेट किया गया
  • हमने एक PositionIndicator अडैप्टर जोड़ा है, जो LazyListState को हैंडल कर सकता है (I21b88)
  • SwipeToDismissBox को अपडेट किया गया, ताकि वह rememberSaveable का इस्तेमाल कर सके (Ie728b)
  • हमने ScalingLazyColumn में reverseLayout की सुविधा जोड़ी है. इससे स्क्रोल करने की दिशा और लेआउट (I9e2fc) को उलटा किया जा सकता है
  • performGesture और GestureScope को बंद कर दिया गया है. इनकी जगह performTouchInput और TouchInjectionScope का इस्तेमाल किया जा सकता है. (Ia5f3f, b/190493367)
  • हमने VignetteValue का नाम बदलकर VignettePosition कर दिया है. साथ ही, VignetteValue.Both का नाम बदलकर VignettePosition.TopAndBottom कर दिया है. (I57ad7)
  • हमने ScalingLazyColumnState का नाम बदलकर ScalingLazyListState, ScalingLazyColumnItemInfo का नाम बदलकर ScalingLazyListItemInfo, ScalingLazyColumnLayoutInfo का नाम बदलकर ScalingLazyListLayoutInfo, और ScalingLazyColumnScope का नाम बदलकर ScalingLazyListScope कर दिया है. ऐसा इसलिए किया गया है, ताकि आने वाले समय में ScalingLazyRow को लागू किया जा सके. (I22734)

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

  • CompactChip के दस्तावेज़ को अपडेट किया गया है. इसमें बताया गया है कि अगर आइकॉन और लेबल, दोनों में से कोई भी नहीं दिया जाता है, तो क्या होता है. (I4ba88)
  • हमने Wear कार्ड कॉम्पोनेंट में कुछ बदलाव किए हैं. (I6b3d0)
    1. TitleCard में टाइटल और मुख्य हिस्से के बीच की दूरी को 8.dp से घटाकर 2.dp कर दिया गया है.
    2. टाइटल कार्ड के हेडर फ़ॉन्ट को बॉडी से बदलकर title3 कर दिया गया है.
    3. कार्ड के बैकग्राउंड के ग्रेडिएंट को बदलकर, बैकग्राउंड को ज़्यादा गहरा कर दिया गया है.

वर्शन 1.0.0-alpha05

1 सितंबर, 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha05 और androidx.wear.compose:compose-material:1.0.0-alpha05 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha05 में ये कमिट शामिल हैं.

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

  • ArcPaddingValues को @Stable के तौर पर मार्क करें (I57deb)
  • ScalingLazyColumnState अब ScrollableState इंटरफ़ेस लागू करता है. इससे डेवलपर को कॉम्पोनेंट को स्क्रोल करने का प्रोग्रामैटिक ऐक्सेस मिलता है. (I47dbc)

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

  • हमने चिप और ToggleChip में आइकॉन और टेक्स्ट के बीच की दूरी को कम कर दिया है, ताकि उन्हें यूज़र एक्सपीरियंस (यूएक्स) स्पेसिफ़िकेशन के अपडेट के मुताबिक बनाया जा सके. (I83802)

वर्शन 1.0.0-alpha04

18 अगस्त, 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha04 और androidx.wear.compose:compose-material:1.0.0-alpha04 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha04 में ये कमिट शामिल हैं.

नई सुविधाएं

  • SwipeToDismissBox और swipeable मॉडिफ़ायर जोड़ा गया है. इसका इस्तेमाल, बाएं से दाएं स्वाइप करके खारिज करने के जेस्चर को सपोर्ट करने के लिए किया जा सकता है. नेविगेशन कॉम्पोनेंट से अलग होने के बावजूद, इसका इस्तेमाल एक स्क्रीन से बाहर निकलने और दूसरी स्क्रीन पर जाने के लिए किया जाता है. स्வைப் करके खारिज करने की सुविधा का डेमो देने के लिए, इंटिग्रेशन टेस्ट जोड़े गए. (I7bbaa)
  • हमने ScalingLazyColumnState क्लास में ScalingLazyColumnItemInfo और ScalingLazyColumnLayoutInfo इंटरफ़ेस जोड़े हैं. इससे डेवलपर को, स्केलिंग लागू होने के बाद ScalingLazyColumn में मौजूद आइटम की असल पोज़िशन और साइज़ के बारे में पता चल पाएगा. हमने एक बग को भी ठीक किया है. यह बग, ScalingLazyColumn पर 'टॉप' कॉन्टेंट पैडिंग लागू होने पर, स्केलिंग के हिसाब लगाने के तरीके से जुड़ा था. (I27c07)

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

  • घुमावदार टेक्स्ट की स्टाइल तय करने के लिए, CurvedTextStyle क्लास जोड़ें. यह TextStyle की तरह ही है, लेकिन अब इसमें सिर्फ़ रंग, फ़ॉन्ट साइज़, और बैकग्राउंड का इस्तेमाल किया जा सकता है. आने वाले समय में, स्टाइलिंग के और विकल्प जोड़े जाएंगे. (I96ac3)
  • हमने ScalingLazyColumnState क्लास में ScalingLazyColumnItemInfo और ScalingLazyColumnLayoutInfo इंटरफ़ेस जोड़े हैं. इससे डेवलपर को, स्केलिंग लागू होने के बाद ScalingLazyColumn में मौजूद आइटम की असल पोज़िशन और साइज़ के बारे में पता चल पाएगा. हमने एक बग को भी ठीक किया है. यह बग, ScalingLazyColumn पर 'टॉप' कॉन्टेंट पैडिंग लागू होने पर, स्केलिंग के हिसाब लगाने के तरीके से जुड़ा था. (I27c07)
  • @ExperimentalWearMaterialApi को SwipeDismissTarget enum में जोड़ा गया है. यह SwipeToDismissBox API का हिस्सा है. (I48b5e)

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

  • SwipeToDismissBox के लिए टेस्ट मटीरियल जोड़ा गया (I9febc)

वर्शन 1.0.0-alpha03

4 अगस्त, 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha03 और androidx.wear.compose:compose-material:1.0.0-alpha03 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha03 में ये कमिट शामिल हैं.

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

  • CurvedText कॉम्पोनेंट जोड़ा गया है. इससे डेवलपर, सर्कल के घुमाव (आम तौर पर, गोल स्क्रीन के किनारे पर) के हिसाब से आसानी से टेक्स्ट लिख सकते हैं (Id1267)
  • हमने CardDefaults.imageBackgroundPainter() का नाम बदलकर CardDefaults.imageWithScrimBackgroundPainter() कर दिया है, ताकि यह साफ़ तौर पर पता चल सके कि बैकग्राउंड इमेज पर स्क्रीम बनाई जाएगी. (I53206)
  • ScalingLazyColumn कॉम्पोनेंट जोड़ा गया है. यह Wear Material के लिए एक लिस्ट कॉम्पोनेंट है. इससे फ़िशआई व्यू मिलता है. इसमें लिस्ट के कॉन्टेंट का साइज़ छोटा होता जाता है और कॉम्पोनेंट के किनारे की ओर बढ़ने पर वे पारदर्शी होते जाते हैं. (I7070c)

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

  • हमने UX स्पेसिफ़िकेशन के अपडेट के जवाब में, AppCard में मौजूद appName कॉन्टेंट का डिफ़ॉल्ट रंग बदल दिया है. appName का डिफ़ॉल्ट रंग अब MaterialTheme.colors.onSurfaceVariant है. इसके अलावा, टाइटल स्लॉट के लिए दस्तावेज़ में मौजूद नहीं है, ऐसे पैरामीटर की जानकारी जोड़ी गई है. (Ic4ad1)

वर्शन 1.0.0-alpha02

21 जुलाई, 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha02 और androidx.wear.compose:compose-material:1.0.0-alpha02 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha02 में ये कमिट शामिल हैं.

नई सुविधाएं

  • आर्क में लेआउट किए गए कंपोज़ेबल के लिए, नई क्लास CurvedRow जोड़ी गई (I29941)
  • ऐप्लिकेशन में इस्तेमाल करने के लिए, एक नया कार्ड (TitleCard) जोड़ा गया है. साथ ही, कार्ड के कॉन्टेंट को हाइलाइट करने के लिए, कार्ड के बैकग्राउंड में इमेज इस्तेमाल करने की सुविधा जोड़ी गई है (I53b0f)

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

  • CurvedRow में रेडियल अलाइनमेंट की सुविधा जोड़ी गई. यह सुविधा, किसी लाइन में वर्टिकल अलाइनमेंट की सुविधा की तरह ही काम करती है (Id9de5)
  • आर्क में लेआउट किए गए कंपोज़ेबल में नई CurvedRow क्लास जोड़ें (I29941)
  • ऐप्लिकेशन में इस्तेमाल करने के लिए, एक नया कार्ड (TitleCard) जोड़ा गया है. साथ ही, कार्ड के कॉन्टेंट को हाइलाइट करने के लिए, कार्ड के बैकग्राउंड में इमेज इस्तेमाल करने की सुविधा जोड़ी गई है (I53b0f)
  • ToggleChipDefaults में टॉगल आइकॉन (चेकबॉक्स, स्विच, और रेडियो बटन) जोड़े गए हैं, ताकि डेवलपर के लिए ToggleChip और SplitToggleChips को कॉन्फ़िगर करना आसान हो (I7b639)
  • चिप के लिए, कॉन्टेंट के शुरू और आखिर में मौजूद पैडिंग को अपडेट किया गया है, ताकि यह हमेशा 14.dp रहे. इससे कोई फ़र्क़ नहीं पड़ता कि चिप में कोई आइकॉन मौजूद है या नहीं. पहले, अगर आइकॉन मौजूद होता था, तो यह 12.dp होता था और अगर आइकॉन मौजूद नहीं होता था, तो यह 14.dp होता था (I34c86)

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

  • CurvedRow (I93cdb) के लिए टेस्ट जोड़ें
  • Wear Compose की डिपेंडेंसी को Compose 1.0.0-rc01 से लिंक किया गया है. (Ie6bc9)
  • कार्ड और चिप में बैकग्राउंड इमेज पेंट करने के तरीके में बदलाव किया गया है, ताकि इमेज के अनुपात को बनाए रखने के लिए उसे स्ट्रेच करने के बजाय काटा जा सके. (I29b41)
  • Button और ToggleButton के लिए, ज़्यादा डेमो और इंटिग्रेशन टेस्ट जोड़े गए. (5e27ed2)
  • imageBackgroundChips के लिए कॉन्टेंट के रंगों को कवर करने के लिए, ज़्यादा चिप टेस्ट जोड़े गए (Ia9183)

वर्शन 1.0.0-alpha01

1 जुलाई, 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha01 और androidx.wear.compose:compose-material:1.0.0-alpha01 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha01 में ये कमिट शामिल हैं.

नई सुविधाएं

Wear Compose, Kotlin और Compose पर आधारित एक लाइब्रेरी है. यह Wear Material Design के साथ काम करती है. Wear Material Design, WearOS डिवाइसों के लिए Material Design का एक्सटेंशन है. इस पहले ऐल्फ़ा वर्शन में, यहां दी गई सुविधाओं को शुरुआती तौर पर लागू किया गया है. ये सुविधाएं काम करती हैं:

  • मटीरियल थीम - इस लाइब्रेरी से इस्तेमाल किए गए कॉम्पोनेंट में, रंग, टाइपोग्राफ़ी, और आकार को एक जैसा कॉन्फ़िगर करती है.
  • चिप, CompactChip - चिप, स्टेडियम के आकार की होती हैं. इनमें आइकॉन, लेबल, और सेकंडरी लेबल का कॉन्टेंट दिखाने के लिए अलग-अलग वर्शन उपलब्ध होते हैं.
  • - ToggleChip, SplitToggleChip - यह एक खास तरह का चिप होता है. इसमें दो स्थितियों वाले टॉगल आइकॉन के लिए एक स्लॉट होता है. जैसे, रेडियो बटन या चेकबॉक्स. इसके अलावा, SplitToggleChip में टैप करने के लिए दो जगहें होती हैं. इनमें से एक पर क्लिक किया जा सकता है और दूसरी को टॉगल किया जा सकता है.
  • बटन, CompactButton - बटन गोल आकार के होते हैं. इनमें आइकॉन या कम से कम टेक्स्ट (ज़्यादा से ज़्यादा तीन वर्ण) के लिए एक कॉन्टेंट स्लॉट होता है.
  • ToggleButton - यह एक ऐसा बटन होता है जो किसी कार्रवाई को चालू या बंद करता है. इसमें आइकॉन या कम से कम टेक्स्ट (ज़्यादा से ज़्यादा तीन वर्ण) के लिए एक स्लॉट होता है.
  • कार्ड, AppCard - आयताकार, जिसके कोने गोल होते हैं. इसमें ऐप्लिकेशन का आइकॉन, समय, टाइटल, और मुख्य जानकारी जैसे कॉन्टेंट के लिए स्लॉट होते हैं.

आने वाले समय में, विजेट के सेट को और बेहतर बनाया जाएगा. इसमें Wear के मटीरियल डिज़ाइन वाले पिकर, स्लाइडर, सूचियां, पेज इंडिकेटर, डायलॉग, स्क्रोल आर एस बी इंडिकेटर, सूचनाएं वगैरह के लिए सहायता जोड़ी जाएगी.

इसके अलावा, Wearable डिवाइसों के लिए उपलब्ध अन्य सुविधाओं के लिए भी सहायता दी जाएगी. जैसे, घुमावदार लेआउट और टेक्स्ट. साथ ही, डेवलपर को Wearable डिवाइसों के लिए ऐप्लिकेशन/ओवरले बनाने में आसानी हो, इसके लिए भी सहायता दी जाएगी.

Wear Compose Material को Compose Material के सिद्धांतों के आधार पर डिज़ाइन किया गया है. हालांकि, इसे पहनने लायक डिवाइसों के लिए बनाया गया है. Wearable डिवाइस के लिए ऐप्लिकेशन बनाते समय, Compose Material लाइब्रेरी की जगह Wear Compose Material लाइब्रेरी का इस्तेमाल किया जाना चाहिए.

“Material” की दोनों लाइब्रेरी को एक-दूसरे से अलग माना जाना चाहिए. साथ ही, इन्हें एक ही ऐप्लिकेशन में नहीं मिलाया जाना चाहिए. अगर डेवलपर को अपनी डिपेंडेंसी में Compose Material लाइब्रेरी शामिल करनी पड़ती है, तो इसका मतलब है कि a) Wear Compose Material लाइब्रेरी में कुछ कॉम्पोनेंट मौजूद नहीं हैं. कृपया हमें बताएं कि आपको क्या चाहिए या b) वे ऐसे कॉम्पोनेंट का इस्तेमाल कर रहे हैं जिसे हम Wearable डिवाइस पर इस्तेमाल करने का सुझाव नहीं देते.