Wear पर कंपोज़ करने की सुविधा
नया अपडेट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा वर्शन |
---|---|---|---|---|
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
को लागू करने से जुड़ी गड़बड़ी को ठीक किया गया. (Iee39bTransformingLazyColumn
की परफ़ॉर्मेंस को बेहतर बनाया गया है. इसके लिए,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 FoundationSwipeToReveal
इंपोर्ट को 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
की सभी डिपेंडेंसी को FoundationSwipeToReveal
से 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 FoundationPagerState
को बेस क्लास के तौर पर हटाया गया है. साथ ही,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
में, किनारे से स्वाइप करने के लिए ज़ोन की सुविधा जोड़ी गई. FoundationSwipeToReveal
में अब डिफ़ॉल्ट रूप से, किनारे से शुरू होने वाले जेस्चर के लिए स्वाइप करने की अनुमति नहीं दी जाती है. Material3SwipeToReveal
का डिफ़ॉल्ट व्यवहार अब यह है कि जब जेस्चर किनारे से शुरू होता है, तो स्वाइप करने की अनुमति नहीं दी जाती है. ऐसा तब होता है, जब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 FoundationLazyColumn
के बीच का अंतर साफ़ तौर पर पता चल सके. (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 ComposeLazyColumn
के लिए सहायता जोड़ी है. साथ ही,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
पर माइग्रेट कर दिया है. इसलिए, हमने MaterialSwipeToDismissBoxState
,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 में माइग्रेट करने के बाद, MaterialSwipeToDismissBox
का इस्तेमाल करने पर अब 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 ComposeFoundation.Lazy
सेScalingLazyListState
का इस्तेमाल किया जा सके. साथ ही, हमने Wear Compose Material सेScalingLazyListState
लेने वाले ओवरलोड को बंद कर दिया है. (Ifc42c) - हमने Dialog API को अपडेट किया है, ताकि वे
Foundation.Lazy
सेScalingLazyListState
का इस्तेमाल कर सकें. साथ ही, हमने उन ओवरलोड को बंद कर दिया है जो MaterialScalingLazyListState
(Ic8960) का इस्तेमाल करते थे - हमने Picker API को अपडेट किया है, ताकि वे
ScalingParams
के बजायFoundation.Lazy
का इस्तेमाल कर सकें. साथ ही, हमने उन ओवरलोड को बंद कर दिया है जो MaterialScalingParams
का इस्तेमाल करते थे. (Idc3d8)
गड़बड़ियां ठीक की गईं
- हमने एक गड़बड़ी को ठीक किया है. इसकी वजह से,
ScalingLazyListState.centerItemIndex
में ज़रूरत से ज़्यादा बार रीकंपोज़िशन होता था. हमने यह पक्का किया है कि यह सिर्फ़ तब अपडेट पुश करे, जब वैल्यू में बदलाव हुआ हो (Ia9f38) - हमने
SwipeToDismissBox
(I3933b) की परफ़ॉर्मेंस को बेहतर बनाया है - Wear Compose Foundation (Ie00f9) में
ScalingLazyColumn
के लिए बेंचमार्क टेस्ट जोड़े गए - हमने Material में कुछ इंटरनल
ScalingLazyColumn
क्लास के तरीकों को अपडेट किया है, ताकिFoundation.Lazy
(I38aab) से उनके इक्विवेलेंट का इस्तेमाल किया जा सके - हमने पिकर टेस्ट से जुड़ी कुछ समस्याएं ठीक की हैं. साथ ही, ऑफ़सेट के साथ स्क्रोल करने की सुविधा (I6ac34) की जांच करने के लिए, ज़्यादा टेस्ट जोड़े हैं
- हमने
ScalingLazyColumn
इंटिग्रेशन डेमो को MaterialScalingLazyColumn
(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)
एपीआई में हुए बदलाव
- हमने एक
HierarchicalFocusCoordinator
composable जोड़ा है. इससे कंपोज़िशन के सब-ट्री को फ़ोकस चालू या फ़ोकस बंद के तौर पर मार्क किया जा सकता है.(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'ingScalingLazyColumn
,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)
- TitleCard में टाइटल और मुख्य हिस्से के बीच की दूरी को 8.dp से घटाकर 2.dp कर दिया गया है.
- टाइटल कार्ड के हेडर फ़ॉन्ट को बॉडी से बदलकर title3 कर दिया गया है.
- कार्ड के बैकग्राउंड के ग्रेडिएंट को बदलकर, बैकग्राउंड को ज़्यादा गहरा कर दिया गया है.
वर्शन 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 डिवाइस पर इस्तेमाल करने का सुझाव नहीं देते.