wear protolayout
| नया अपडेट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
|---|---|---|---|---|
| 11 फ़रवरी, 2026 | 1.3.0 | - | 1.4.0-beta01 | - |
डिपेंडेंसी का एलान करना
wear-protolayout पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.
अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:
Groovy
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation "androidx.wear.protolayout:protolayout-expression:1.3.0" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.3.0" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.3.0" }
Kotlin
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.3.0") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.3.0") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.3.0") }
डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.
सुझाव/राय दें या शिकायत करें
आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या आपके पास इस लाइब्रेरी को बेहतर बनाने के लिए सुझाव हैं, तो हमें बताएं. कृपया नई समस्या सबमिट करने से पहले, इस लाइब्रेरी में शामिल मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.
ज़्यादा जानकारी के लिए, Issue Tracker का दस्तावेज़ देखें.
वर्शन 1.4
वर्शन 1.4.0-beta01
11 फ़रवरी, 2026
androidx.wear.protolayout:protolayout-*:1.4.0-beta01 रिलीज़ हो गया है. वर्शन 1.4.0-beta01 में ये बदलाव शामिल हैं.
नई सुविधाएं
Wear ProtoLayout के 1.4.0-beta01 वर्शन से पता चलता है कि लाइब्रेरी का यह वर्शन, सभी सुविधाओं के साथ उपलब्ध है. साथ ही, एपीआई लॉक है. हालांकि, जिन एपीआई को एक्सपेरिमेंटल के तौर पर मार्क किया गया है वे लॉक नहीं हैं. Wear ProtoLayout 1.4 में ये नई सुविधाएं और एपीआई शामिल हैं:
- इनलाइन की गई इमेज के संसाधन और परफ़ॉर्मेंस में सुधार: संसाधन हैंडल करने का बेहतर तरीका पेश किया गया है. इसमें
ImageResourceको सीधे तौर पर लेआउट में इनलाइन किया जा सकता है.- इससे डेवलपमेंट की प्रोसेस काफ़ी आसान हो जाती है. ऐसा इसलिए, क्योंकि
onTileResourcesRequestमें मैन्युअल तरीके से रिसॉर्स मैप करने की ज़रूरत नहीं पड़ती. साथ ही, यह तरीका उस तरीके को बदल देता है. - इससे टाइलें लोड होने में लगने वाला समय काफ़ी कम हो जाता है. ऐसा इसलिए होता है, क्योंकि अब दो बाइंडर कॉल की ज़रूरत नहीं होती. सिर्फ़
onTileResourcesRequestतरीके को लागू किया जा सकता है. - सभी
Imageएपीआई अब इस कॉन्सेप्ट के साथ काम करते हैं. इसके लिए, वे नए तरीके उपलब्ध कराते हैं. इन तरीकों में,ProtoLayoutScopeको स्वीकार किया जाता है.
- इससे डेवलपमेंट की प्रोसेस काफ़ी आसान हो जाती है. ऐसा इसलिए, क्योंकि
Material3 स्कोप और संसाधनों का अपने-आप रजिस्टर होना: इनलाइन इमेज रिसॉर्स के साथ Material3
MaterialScopeकॉन्सेप्ट को सपोर्ट करने के लिए,materialScopeWithResourcesजोड़ा गया. यह स्कोप, अपने-आप संसाधन रजिस्टर करने की सुविधा देता है. साथ ही, इसमें इमेज (backgroundImage,avatarImage, औरicon) के लिए नए हेल्पर तरीके शामिल हैं, ताकि कॉम्पोनेंट के इस्तेमाल को आसान बनाया जा सके.आसान कोड स्निपेट:
materialScopeWithResources( context = context, deviceConfiguration = deviceParameters, protoLayoutScope = protoLayoutScope) { primaryLayout( // layout setup here iconContent = { **icon**( **imageResource**( **androidImageResource**(R.drawable.myIcon)))}) //… }
PendingIntent की सुविधा: टाइल के लिए,
PendingIntentकी सुविधा जोड़ी गई है.PendingIntentक्लिक किए जा सकने वाले एलिमेंट, फ़ॉलबैक ऐक्शन (LoadActionयाLaunchAction) स्वीकार करते हैं. इससे यह पक्का होता है कि अगरProtoLayoutरेंडरर कोई पुराना वर्शन है, जोPendingIntentके साथ काम नहीं करता है, तो मान्य फ़ॉलबैक ऐक्शन का इस्तेमाल अपने-आप किया जाता है.Kotlin डीएसएल में कई सुधार किए गए हैं:
- Kotlin का इस्तेमाल करने वाले डेवलपर के अनुभव को बेहतर बनाने के लिए,
Imageऔर सभीImageResourcesटाइप के लिए, खास Kotlin हेल्पर जोड़े गए हैं. - मॉडर्न Android डेवलपमेंट के साथ ज़्यादा से ज़्यादा काम करने के लिए, कंटेनर टाइप जैसे कि
Box,Row,Columnवगैरह के लिए हेल्पर जोड़े गए हैं. - फ़ेड इन ऐनिमेशन के लिए, नया Kotlin
Transformationमॉडिफ़ायर और हेल्पर तरीके जोड़े गए.
- Kotlin का इस्तेमाल करने वाले डेवलपर के अनुभव को बेहतर बनाने के लिए,
Lottie ऐनिमेशन को पसंद के मुताबिक बनाना:
AndroidLottieResourceByResIdमें एपीआई जोड़ा गया है, ताकि प्रॉपर्टी के ज़रिए Lottie ऐनिमेशन को पसंद के मुताबिक बनाया जा सके. साथ ही, किसी स्लॉट को थीम करने के लिए, स्लॉट आईडी के आधार पर प्रॉपर्टी बनाने के लिए, एपीआई और सहायता जोड़ी गई है.ऐंबियंट मोड की जानकारी: एक नया प्लैटफ़ॉर्म इवेंट सोर्स,
isInAmbientModeजोड़ा गया है. इससे लेआउट, डिवाइस के ऐंबियंट मोड में होने या न होने के आधार पर प्रतिक्रिया दे सकते हैं और एक्सप्रेशन अपडेट कर सकते हैं.
एपीआई में हुए बदलाव
- Material3 इमेज हेल्पर: Material3 के मौजूदा इमेज हेल्पर को बंद कर दिया गया है. इसके बजाय,
ProtoLayoutScopeऔर इनलाइन किए गए नए संसाधन हैंडलिंग का इस्तेमाल करने वाले नए ओवरलोड उपलब्ध कराए गए हैं. - MaterialScope अपडेट:
materialScopeWithResourcesके ज़रिए बनाए जाने पर,MaterialScopeमें मौजूदprotoLayoutScopeफ़ील्ड को इस्तेमाल करनाNonNullहो जाता है. इसकी मौजूदगी की जांच करने के लिए, एक नयाhasProtoLayoutScopeफ़ंक्शन जोड़ा गया है.MaterialScope,Contextके लिए सार्वजनिक फ़ील्ड भी दिखाता है. - सिमैंटिक हेडिंग,
LayoutModifierमें एपीआई के तौर पर उपलब्ध है. - आर्क की दिशा के लिए सहायता
ARC_DIRECTION_*कॉन्स्टेंट अब सार्वजनिक तौर पर उपलब्ध हैं, ताकि इनका इस्तेमालArc/ArcLine/ArcText/DashedArcLineएलिमेंट में किया जा सके.
गड़बड़ियां ठीक की गईं
- संसाधन की तुलना: संसाधन टाइप की तुलना करने के लिए, बेहतर
hashऔरequalsतरीकों को लागू करके परफ़ॉर्मेंस को ऑप्टिमाइज़ किया गया है. - एकल स्लॉट वाले textButton पर, कॉन्टेंट की डिफ़ॉल्ट जानकारी लागू करें.
- रेंडरर साइड में ज़्यादा से ज़्यादा लाइनों को अडजस्ट करने के लिए, कैलकुलेशन ठीक करें.
वर्शन 1.4.0-alpha05
28 जनवरी, 2026
androidx.wear.protolayout:protolayout-*:1.4.0-alpha05 रिलीज़ हो गया है. वर्शन 1.4.0-alpha05 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- नया Kotlin
Transformationमॉडिफ़ायर जोड़ा गया है. (I195a7, b/397169191)
गड़बड़ियां ठीक की गईं
- हमने बेहतर संसाधन हैंडलिंग की समस्या को ठीक कर दिया है. इसके लिए, हमने
TileServiceसे स्टेटफ़ुलProtoLayoutScopeको हटा दिया है. (I5dc0a, b/474614772)
वर्शन 1.4.0-alpha04
14 जनवरी, 2026
androidx.wear.protolayout:protolayout-*:1.4.0-alpha04 रिलीज़ हो गया है. वर्शन 1.4.0-alpha04 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- हमने Material3 में इमेज हेल्पर को बंद कर दिया है. इसके बजाय, हमने नए ओवरलोड का इस्तेमाल किया है. ये ओवरलोड,
ProtoLayoutScopeका इस्तेमाल करते हैं. साथ ही, इनमें बेहतर तरीके से संसाधनों को मैनेज करने का कॉन्सेप्ट इस्तेमाल किया गया है. इसमेंImageResourceको सीधे तौर पर लेआउट में इनलाइन किया जा सकता है. इससे संसाधनों की मैपिंग के लिए,onTileResourcesRequestतरीके का इस्तेमाल करने की ज़रूरत नहीं पड़ती. बेहतर अनुभव के लिए, इसे Wear Tiles 1.6-alpha04 वर्शन में जोड़े गएandroidx.wear.tiles.Material3TileServiceके साथ इस्तेमाल करें. (I8198c, b/440376391)
वर्शन 1.4.0-alpha03
17 दिसंबर, 2025
androidx.wear.protolayout:protolayout-*:1.4.0-alpha03 रिलीज़ हो गया है. वर्शन 1.4.0-alpha03 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- बेहतर तरीके से रिसॉर्स हैंडल करने और परफ़ॉर्मेंस को बेहतर बनाने के लिए, अब दो तरह के रिसॉर्स की तुलना, ऑप्टिमाइज़ किए गए हैश और equals तरीकों का इस्तेमाल करके की जाती है. (82f21b2f)
वर्शन 1.4.0-alpha02
22 अक्टूबर, 2025
androidx.wear.protolayout:protolayout-*:1.4.0-alpha02 रिलीज़ हो गया है. वर्शन 1.4.0-alpha02 में ये बदलाव शामिल हैं.
नई सुविधाएं
- नया प्लैटफ़ॉर्म इवेंट सोर्स (
isInAmbientMode) जोड़ा गया है. इससे यह पता चलता है कि डिवाइस ऐंबियंट मोड में है या नहीं (Ief832)
एपीआई में हुए बदलाव
PendingIntentclickableअब फ़ॉलबैक ऐक्शन (LoadAction/LaunchAction) स्वीकार करता है. इसका इस्तेमाल तब किया जाता है, जबProtoLayoutरेंडरर,PendingIntentके साथ काम नहीं करता. जब रेंडरर का वर्शन,PendingIntentके साथ काम करने वाले वर्शन से कम होता है, तब फ़ॉलबैक ऐक्शन अपने-आप चुन लिया जाता है और लेआउट में रख दिया जाता है. (I6eee2, b/450259727)MaterialScopeमें मौजूदprotoLayoutScopeफ़ील्ड को अबNonNullबना दिया गया है, ताकिmaterialScopeWithResourcesके ज़रिएMaterialScopeबनाने पर इसे आसानी से इस्तेमाल किया जा सके. इसके अलावा, इसकी मौजूदगी की जांच करने के लिएhasProtoLayoutScopeफ़ंक्शन भी है. (I1858f, b/450067019)
वर्शन 1.4.0-alpha01
24 सितंबर, 2025
androidx.wear.protolayout:protolayout-*:1.4.0-alpha01 रिलीज़ हो गया है. वर्शन 1.4.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
LayoutModifierके लिए हेल्पर मेथड जोड़ा गया है. इससे टाइल दिखने के दौरान, एलिमेंट धीरे-धीरे दिखता है. (I38531, b/390345969)- M3
MaterialScopeके कॉन्सेप्ट को सपोर्ट करने के लिए,materialScopeWithResourcesजोड़ा गया है. यह अपने-आप संसाधन रजिस्टर करने की सुविधा भी देता है. इसमें, इमेज (backgroundImageavatarImageऔर आइकॉन) के लिए नई हेल्पर विधियां जोड़ी गई हैं. इनका इस्तेमाल करने पर,onTileResourceRequestमें संसाधनों को मैन्युअल तरीके से रजिस्टर करने की ज़रूरत नहीं पड़ती. (I525bd, b/428692714) ProtoLayoutImageऔरImageResourcesके लिए Kotlin हेल्पर, जिनका इस्तेमालProtoLayoutScopeऔर संसाधन के अपने-आप रजिस्टर होने की सुविधा के साथ किया जा सकता है. (Iada82, b/430584304)- एक Lottie ऐनिमेशन को पसंद के मुताबिक बनाने के लिए, कितनी Lottie प्रॉपर्टी इस्तेमाल की जा सकती हैं, इसके लिए getter जोड़ा गया. (I73733, b/436532706)
AndroidLottieResourceByResIdमें एपीआई जोड़ा गया है. इससे प्रॉपर्टी के ज़रिए Lottie ऐनिमेशन को पसंद के मुताबिक बनाया जा सकेगा. साथ ही, एपीआई को जोड़ा गया है. इससे थीम वाले स्लॉट के लिए प्रॉपर्टी बनाई जा सकेगी. इसमें स्लॉट आईडी के साथ-साथ तय किया गया रंग भी शामिल होगा. (I301b3, b/423581481)PendingIntentको क्लिक ऐक्शन के तौर पर स्वीकार करने के लिए, सेवा देने वाली कंपनियों के एपीआई जोड़ें (I01978, b/433802488)Image.Builderमें नया एपीआई जोड़ें -setImageResource, ताकिonTileRequestमें इमेज को सीधे तौर पर रिसॉर्स ऑब्जेक्ट पर सेट किया जा सके. इसके लिए,onTileResourcesRequestमें इसे मैपिंग में रजिस्टर करने की ज़रूरत नहीं है. (Ifa69a, b/428693523)- Tiles में संसाधनों को बेहतर तरीके से मैनेज करने के लिए,
ProtoLayoutScopeकॉन्सेप्ट जोड़ा गया है. (I132ce, b/428692423) ProtoLayoutMaterial3MaterialScopeअबContextफ़ील्ड को सार्वजनिक तौर पर उपलब्ध कराता है, ताकि इसका इस्तेमाल स्कोप में मौजूद तरीकों में किया जा सके. इसके लिए, इसे पास करने की ज़रूरत नहीं होती. (I0e5cc, b/414559956)- हेडिंग के सिमैंटिक एपीआई को सार्वजनिक करें (I75299, b/413653475)
ARC_DIRECTION_*कॉन्स्टेंट को सार्वजनिक के तौर पर दिखाएं, ताकि इनका इस्तेमालArc/ArcLine/ArcText/DashedArcLineमें किया जा सके. (I83959, b/427556439)
एपीआई में हुए बदलाव
- हमने
Image.Builder()औरImage.Builder.setResourceIdतरीकों को बंद कर दिया है. इनकी जगह, अपने-आप संसाधन रजिस्टर करने वाले नए एपीआई का इस्तेमाल किया जा सकता है. यहImage.Builder(ProtoLayoutScope)औरImage.Builder.setImageResourceएपीआई में उपलब्ध है. इससेonTileResourcesRequestको बदलने की ज़रूरत नहीं पड़ती. (I7bfe6, b/432758526) ProtoLayoutScopeबनाने के लिए, एपीआई को पाबंदी वाले ऐक्सेस से हटाकर सार्वजनिक ऐक्सेस पर ले जाएं. हालांकि, इनका इस्तेमाल नहीं किया जाना चाहिए, क्योंकि सिस्टम पहले से ही उन कॉल को मैनेज करता है. (I1d8e8, b/432758251)
गड़बड़ियां ठीक की गईं
ProtoTilesमेंPendingIntentके साथ काम करने की सुविधा जोड़ी गई (I38167, b/430610429)invalidateLayoutतरीका जोड़ें. (Ief898)- डिफ़ॉल्ट minSdk को API 21 से API 23 पर ले जाना (Ibdfca, b/380448311, b/435705964, b/435705223)
ImageResourceमें अबhashCodeऔरequalsतरीके उपलब्ध हैं. (I650ee, b/428692423, b/428693523)- नया प्रोटो मैसेज
PendingIntentActionऔर उसका रैपर बिल्डर (Ie2aca, b/427643502) जोड़ें ZoneIdइंस्टेंस को कम बार बनाया जाता है. (I284d3)- एकल स्लॉट
textButtonपर कॉन्टेंट के ब्यौरे का डिफ़ॉल्ट वर्शन लागू करें. (I0dc8a, b/415001534) - रेंडरर साइड में ज़्यादा से ज़्यादा लाइनों को अडजस्ट करने के लिए, कैलकुलेशन ठीक करें. (I933bc, b/414353620)
वर्शन 1.3
वर्शन 1.3.0
4 जून, 2025
androidx.wear.protolayout:protolayout-*:1.3.0 रिलीज़ हो गया है. वर्शन 1.3.0 में ये बदलाव शामिल हैं.
1.2.0 के बाद हुए ज़रूरी बदलाव
- Material 3 डिज़ाइन अब स्मार्टवॉच पर भी उपलब्ध है. इसमें ऐसे कॉम्पोनेंट और लेआउट शामिल हैं जिन्हें गोल डिसप्ले के लिए ऑप्टिमाइज़ किया गया है. साथ ही, ये छोटी से लेकर बड़ी स्क्रीन के साइज़ के हिसाब से सही तरीके से स्केल होते हैं
- इसमें सिर्फ़ Kotlin,
protolayout-material3लाइब्रेरी शामिल है. इसमें इन कॉम्पोनेंट और सुविधाओं के लिए, Compose जैसे ज़्यादा एपीआई शामिल हैं: - सिस्टम और स्मार्टवॉच की होम स्क्रीन से मिलने वाली डाइनैमिक कलर थीम. इसमें रंगों, आकृतियों, और टाइपोग्राफ़ी के लिए, Material3 की नई थीम का इस्तेमाल किया गया है
MaterialScopeका इस्तेमाल, सभी डिफ़ॉल्ट सेटिंग को मैनेज करने और उन्हें आसानी से पसंद के मुताबिक बनाने के लिए किया जाता हैiconEdgeButton,textEdgeButtoniconButton,textButton,button,imageButton,avatarButton,compactButtontitleCard,appCard,graphicDataCard,iconDataCard,textDataCardcircularProgressIndicator,segmentedCircularProgressIndicatorprimaryLayout,buttonGroup- सभी कॉम्पोनेंट, एसडीके के किसी भी लेवल और
ProtoLayoutरेंडरर वर्शन पर काम करते हैं. साथ ही, जहां ज़रूरी हो वहां फ़ॉलबैक उपलब्ध कराते हैं
- इसमें सिर्फ़ Kotlin,
- ProtoLayout के बुनियादी एलिमेंट के लिए, Kotlin के साथ काम करने वाले और Compose जैसे एपीआई
LayoutModifierमें, ज़्यादातर मॉडिफ़ायर को चेन किए गए फ़ंक्शन (padding,contentDescription(clearSemanticsभी शामिल है),background,clip,opacityवगैरह) के तौर पर जोड़ने की सुविधा है. इसे मौजूदाModifiersऑब्जेक्ट में बदला जा सकता हैLayoutColorsऔरLayoutStringको टाइप के तौर पर इस्तेमाल किया जा सकता है. इससे डाइनैमिक फ़ील्ड और शर्तों को आसानी से इस्तेमाल किया जा सकता हैtextऔरfontStyleStateBuilderके लिए बेहतर मैप सपोर्ट, जिसमेंStateBuilderऔर फ़ैक्ट्री के तरीके शामिल हैं. जैसे,AppDataKeyऑब्जेक्ट को आसानी से बनाने के लिएintAppDataKeyDynamicDataMap
- Lottie ऐनिमेशन में, यह विकल्प शामिल होता है कि ऐनिमेशन कब शुरू होना चाहिए. उदाहरण के लिए, लेआउट लोड होने पर या लेआउट दिखने पर
- ग्रेडिएंट के लिए बेहतर सहायता:
Brushका हिस्सा लीनियर ग्रेडिएंट एपीआई, जिसका इस्तेमालBackgroundमॉडिफ़ायर में किया जा सकता है. जैसे,Box,Spacerवगैरह. …- लीनियर और स्वीप ग्रेडिएंट के लिए इस्तेमाल किए गए
ColorStopमें डाइनैमिक कलर वैल्यू की अनुमति दें - आर्क ऑब्जेक्ट में मौजूद स्वीप ग्रेडिएंट में अब डाइनैमिक रंगों के साथ-साथ, शुरू और खत्म होने वाले कोणों का इस्तेमाल किया जा सकता है
protolayout-expressionमें प्लैटफ़ॉर्म डेटा बाइंडिंग की सुविधा उपलब्ध है. इससे लेआउट की दृश्यता में बदलाव होने पर, आपको सूचना मिलती है. उदाहरण के लिए, इस सुविधा का इस्तेमाल करके, टाइल को स्वाइप करते समय लेआउट के कुछ हिस्सों को छिपाया जा सकता है- Testing library -
protolayout-testing- को जोड़ा गया है, ताकि किसी भी ProtoLayout एलिमेंट के लिए यूनिट टेस्ट कवरेज को आसानी से सपोर्ट किया जा सके - बेहतर सुविधाओं वाला नया एलिमेंट
DashedArcLine, ताकि लाइन में डैश हो सकें. ऐसा मौजूदाArcLineके बजाय किया जा सकता है ArcSpacerडिग्री के बजाय डीपी डाइमेंशन में इसकी लंबाई सेट करने की सुविधा- कुछ फ़ॉन्ट के लिए, गोलाई
FontSettingवाला ऐक्सिस जोड़ा गया
वर्शन 1.3.0-rc01
20 मई, 2025
androidx.wear.protolayout:protolayout-*:1.3.0-rc01 को पिछली रिलीज़ के मुकाबले बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.3.0-rc01 में ये बदलाव शामिल हैं.
वर्शन 1.3.0-beta02
7 मई, 2025
androidx.wear.protolayout:protolayout-*:1.3.0-beta02 रिलीज़ हो गया है. वर्शन 1.3.0-beta02 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- हमने टाइपोग्राफ़ी डिज़ाइन वैल्यू में एक अहम सुधार किया है. यह सुधार, एपीआई 36 और इसके बाद के वर्शन पर लागू होता है. ऐसा इसलिए है, क्योंकि API 36 से सभी टाइलें सिस्टम फ़ॉन्ट में होंगी. इसलिए, इस बदलाव से टाइल कैरसेल में बेहतर एकरूपता आएगी. (If316f)
Text,Spacer,ArcLine, औरDashedArcLineबिल्डर,layoutConstraintsके लिए डाइनैमिक वैल्यू सेट न होने पर गड़बड़ी नहीं दिखाएंगे. ध्यान दें कि पुराने रेंडरर के लिए,layoutConstraintsको सेट करना ज़रूरी है. साथ ही, वे ऐसी किसी भी डाइनैमिक वैल्यू को अनदेखा कर देंगे जिसके लिए यह सेट नहीं है. (Ic52e8)- हेडिंग सिमैंटिक्स मॉडिफ़ायर जोड़ें. इससे यह पता चलता है कि लेआउट एलिमेंट, सुलभता के लिए कॉन्टेंट के किसी सेक्शन की हेडिंग है. साथ ही,
primaryLayoutके टाइटल स्लॉट में मौजूद टेक्स्ट को डिफ़ॉल्ट रूप से सुलभता हेडिंग के तौर पर मार्क करें. (Iae1fb) primaryLayoutके यूज़र एक्सपीरियंस को बेहतर बनाया गया है. छोटी स्क्रीन पर, टाइटल स्लॉट और मुख्य स्लॉट के बीच की जगह को 6dp से घटाकर 4dp कर दिया गया है. (I0e056)textEdgeButtonपर कॉन्टेंट की डिफ़ॉल्ट जानकारी लागू करें. (Ifaf8b)avatarButtonकी इनर पैडिंग में मामूली बदलाव किया गया है. (I0910b)
वर्शन 1.3.0-beta01
9 अप्रैल, 2025
androidx.wear.protolayout:protolayout-*:1.3.0-beta01 रिलीज़ हो गया है. वर्शन 1.3.0-beta01 में ये बदलाव शामिल हैं.
नई सुविधाएं
Wear ProtoLayout के 1.3.0-beta01 वर्शन से पता चलता है कि लाइब्रेरी का यह वर्शन पूरी तरह से काम करता है. साथ ही, एपीआई लॉक है. हालांकि, जिन एपीआई को एक्सपेरिमेंटल के तौर पर मार्क किया गया है वे लॉक नहीं हैं. Wear ProtoLayout 1.3 में ये नई सुविधाएं और एपीआई शामिल हैं:
- Material 3 डिज़ाइन अब स्मार्टवॉच पर भी उपलब्ध है. इसमें ऐसे कॉम्पोनेंट और लेआउट शामिल हैं जिन्हें गोल डिसप्ले के लिए ऑप्टिमाइज़ किया गया है. साथ ही, ये छोटी से लेकर बड़ी स्क्रीन के साइज़ के हिसाब से सही तरीके से स्केल होते हैं
- इसमें सिर्फ़ Kotlin,
protolayout-material3लाइब्रेरी शामिल है. इसमें इन कॉम्पोनेंट और सुविधाओं के लिए, Compose जैसे ज़्यादा एपीआई शामिल हैं: - सिस्टम और स्मार्टवॉच की होम स्क्रीन से मिलने वाली डाइनैमिक कलर थीम. इसमें रंगों, आकृतियों, और टाइपोग्राफ़ी के लिए, Material3 की नई थीम का इस्तेमाल किया गया है
MaterialScopeका इस्तेमाल, सभी डिफ़ॉल्ट सेटिंग को मैनेज करने और उन्हें आसानी से पसंद के मुताबिक बनाने के लिए किया जाता हैiconEdgeButton,textEdgeButtoniconButton,textButton,button,imageButton,avatarButton,compactButtontitleCard,appCard,graphicDataCard,iconDataCard,textDataCardcircularProgressIndicator,segmentedCircularProgressIndicatorprimaryLayout,buttonGroup- सभी कॉम्पोनेंट, एसडीके के किसी भी लेवल और ProtoLayout Renderer के वर्शन पर काम करते हैं. साथ ही, जहां ज़रूरी हो वहां फ़ॉलबैक उपलब्ध कराते हैं
- इसमें सिर्फ़ Kotlin,
- ProtoLayout के बुनियादी एलिमेंट के लिए, Kotlin के साथ काम करने वाले और Compose जैसे एपीआई
LayoutModifierमें, ज़्यादातर मॉडिफ़ायर को चेन किए गए फ़ंक्शन (padding,contentDescription(clearSemanticsभी शामिल है),background,clip,opacityवगैरह) के तौर पर जोड़ने की सुविधा है. इसे मौजूदाModifiersऑब्जेक्ट में बदला जा सकता हैLayoutColorsऔरLayoutStringको टाइप के तौर पर इस्तेमाल किया जा सकता है. इससे डाइनैमिक फ़ील्ड और शर्तों को आसानी से इस्तेमाल किया जा सकता हैtextऔरfontStyleStateBuilderके लिए बेहतर मैप सपोर्ट, जिसमेंStateBuilderऔर फ़ैक्ट्री के तरीके शामिल हैं. जैसे,AppDataKeyऑब्जेक्ट को आसानी से बनाने के लिएintAppDataKeyDynamicDataMap
- Lottie ऐनिमेशन में, यह विकल्प शामिल होता है कि ऐनिमेशन कब शुरू होना चाहिए. उदाहरण के लिए, लेआउट लोड होने पर या लेआउट दिखने पर
- ग्रेडिएंट के लिए बेहतर सहायता:
Brushका हिस्सा लीनियर ग्रेडिएंट एपीआई, जिसका इस्तेमालBackgroundमॉडिफ़ायर में किया जा सकता है. जैसे,Box,Spacerवगैरह. …- लीनियर और स्वीप ग्रेडिएंट के लिए इस्तेमाल किए गए
ColorStopमें डाइनैमिक कलर वैल्यू की अनुमति दें - आर्क ऑब्जेक्ट में मौजूद स्वीप ग्रेडिएंट में अब डाइनैमिक रंगों के साथ-साथ, शुरू और खत्म होने वाले कोणों का इस्तेमाल किया जा सकता है
protolayout-expressionमें प्लैटफ़ॉर्म डेटा बाइंडिंग की सुविधा उपलब्ध है. इससे लेआउट की दृश्यता में बदलाव होने पर, आपको सूचना मिलती है. उदाहरण के लिए, इस सुविधा का इस्तेमाल करके, टाइल को स्वाइप करते समय लेआउट के कुछ हिस्सों को छिपाया जा सकता है- Testing library -
protolayout-testing- को जोड़ा गया है, ताकि किसी भी ProtoLayout एलिमेंट के लिए यूनिट टेस्ट कवरेज को आसानी से सपोर्ट किया जा सके - बेहतर सुविधाओं वाला नया एलिमेंट
DashedArcLine, ताकि लाइन में डैश हो सकें. ऐसा मौजूदाArcLineके बजाय किया जा सकता है ArcSpacerडिग्री के बजाय डीपी डाइमेंशन में इसकी लंबाई सेट करने की सुविधा- कुछ फ़ॉन्ट के लिए, गोलाई
FontSettingवाला ऐक्सिस जोड़ा गया
वर्शन 1.3.0-alpha10
12 मार्च, 2025
androidx.wear.protolayout:protolayout-*:1.3.0-alpha10 रिलीज़ हो गया है. वर्शन 1.3.0-alpha10 में ये बदलाव शामिल हैं.
नई सुविधाएं
- Kotlin के Background Modifier में Brush के लिए हेल्पर जोड़ें. (I995de)
- Android Context फ़ील्ड को
MaterialScopeमें सार्वजनिक कर दिया गया है. इससे डेवलपर के फ़ंक्शन में इसका इस्तेमाल करना आसान हो जाएगा. ये फ़ंक्शन, Material3 टाइल के लिए कॉम्पोनेंट बनाते हैं. (I7df73)
एपीआई में हुए बदलाव
- एपीआई
platformVisibilityStatusका नाम बदलकरPlatformEventSources.isLayoutVisibleकर दिया गया है. साथ ही, एक्सपेरिमेंट के तौर पर उपलब्ध नया एपीआईPlatformEventSources.isLayoutUpdatePendingजोड़ा गया है. (Ie1e04)
गड़बड़ियां ठीक की गईं
primaryLayoutके लिए मार्जिन को अब सही तरीके से राउंड अप किया गया है. इससे कुछ लेआउट पर असर पड़ सकता है. मुख्य स्लॉट के लिए 2dp जगह कम हो सकती है. (I8f5d3)ProtoLayoutMaterial3 कॉम्पोनेंट में, डाइनैमिक कलर थीम के डिफ़ॉल्ट होने के बारे में ज़्यादा जानकारी. (Iff5f3)Typography.NUMERAL_*टाइपोग्राफ़ी अब डिफ़ॉल्ट रूप से, टेबल/मोनोस्पेस नहीं होती हैं. अगर टेक्स्ट में ऐनिमेशन हो रहा है, तो हमारा सुझाव है कि आप उसमेंFontSetting.tabularNum()सेटिंग जोड़ें. अन्य सभी मामलों में, इस मोनोस्पेस विकल्प की ज़रूरत नहीं होती है. इसका इस्तेमाल न करने पर, ज़्यादा वर्ण उपलब्ध होंगे. (Id3cd9)ProtoLayoutMaterial3 कॉम्पोनेंट में, डाइनैमिक कलर थीम के डिफ़ॉल्ट होने के बारे में ज़्यादा जानकारी. (I9d831)
वर्शन 1.3.0-alpha09
26 फ़रवरी, 2025
androidx.wear.protolayout:protolayout-*:1.3.0-alpha09 रिलीज़ हो गया है. वर्शन 1.3.0-alpha09 में ये बदलाव शामिल हैं.
नई सुविधाएं
enterTransitionऔरexitTransitionके लिए एक्सपेरिमेंटल मॉडिफ़ायर जोड़े गए (I4a4d6)- हमने प्लैटफ़ॉर्म बाइंडिंग की सुविधा जोड़ी है, ताकि जब भी फ़ुल लेआउट में बदलाव हो, तो आपको उसकी जानकारी मिल सके. (I250c3)
- डाइनैमिक वैल्यू का आकलन करने के लिए,
LayoutElementAssertionsProviderमें टेस्टिंग ऐप्लिकेशन की स्थिति और प्लैटफ़ॉर्म डेटा डालने की अनुमति दें. (Ib5fcb) - प्रोटोलेआउट टेस्टिंग लाइब्रेरी (Ie2361) में कॉर्नर फ़िल्टर जोड़ें
ButtonColors,CardColors, औरProgressIndicatorColorsमें अब कॉपी करने की सुविधा उपलब्ध है. हालांकि, कुछ पैरामीटर को बदलने का विकल्प भी उपलब्ध है. (Ie2054)
एपीआई में हुए बदलाव
- टेस्टिंग लाइब्रेरी (Ib98de) में डाइनैमिक डेटा बाइंडिंग की सुविधा जोड़ी गई
- ओवरले हटाकर,
backgroundImageफ़ंक्शन के साथ इस्तेमाल किए जाने वालेimageButtonको ठीक करें. इसके अलावा,backgroundImageफ़ंक्शन को इस तरह से इस्तेमाल करने की अनुमति दें कि ओवरले के रंग के लिए शून्य तय किया जा सके. इसका मतलब है कि ओवरले लागू नहीं किया जाएगा. (Ibec3c)
गड़बड़ियां ठीक की गईं
- डिफ़ॉल्ट
hasValueOfTypeतरीके को बदलकर,IllegalArgumentExceptionके बजायUnsupportedOperationExceptionको थ्रो करने का तरीका इस्तेमाल किया गया. (Ia36c3) - डिफ़ॉल्ट कलर टोकन की वैल्यू को अपडेट किया गया है, ताकि वे नए स्पेसिफ़िकेशन के मुताबिक दिखें. (I75d44)
- AndroidX टाइल्स रेंडरर में, आर्क लाइनों पर दिखने वाली एलियासिंग की समस्या को ठीक किया गया है. (I88190)
वर्शन 1.3.0-alpha08
12 फ़रवरी, 2025
androidx.wear.protolayout:protolayout-*:1.3.0-alpha08 रिलीज़ हो गया है. वर्शन 1.3.0-alpha08 में ये बदलाव शामिल हैं.
नई सुविधाएं
- Material3 टेक्स्ट के लिए,
FontSettingसूची पैरामीटर जोड़ें. (Ic102d) DynamicDataMapक्लास जोड़ी गई है. यहStateBuilderअब ऐप्लिकेशन की स्थितियों (I012ba) के लिए, बेहतर टाइप सेफ़ Kotlin API के साथ काम करती हैAppDataKeyऑब्जेक्ट (Icea2a) को आसानी से बनाने के लिए,intAppDataKeyजैसे फ़ैक्ट्री मेथड जोड़े गएDynamicDataValueमें अबhasInt/hasColor/.... तरीकों के अलावा,hasValueOfType(Class<?>)तरीका भी उपलब्ध है (I4f7a6)- हमने ज़्यादा ज़रूरी गड़बड़ियों या आपातकालीन कार्रवाइयों (जैसे, सुरक्षा से जुड़ी सूचनाएं) के लिए, Material3 ProtoLayout
ColorSchemeमेंerrorDimजोड़ा है. (Ia17bb) - हमने ग्लोबल रिड्यूसमॉशन सेटिंग को ऐक्सेस करते समय क्रैश होने से बचाने के लिए एक गार्ड जोड़ा है. यह गार्ड उन प्लैटफ़ॉर्म पर ट्रिगर हुआ था जहां यह सेटिंग उपलब्ध नहीं कराई गई थी. (I01e2c)
एपीआई में हुए बदलाव
addKeyToValueMappingका नाम बदलकरaddToStateMapकर दिया गया है. साथ ही,DynamicDataMap.putतरीकों को हटा दिया गया है, क्योंकि वे काम के नहीं थे. (Ibe9dd)- Material3 टाइपोग्राफ़ी अब उन सिस्टम फ़ॉन्ट के लिए राउंडनेस वैरिएबल ऐक्सिस के साथ काम करती है जो इस ऐक्सिस के साथ काम करते हैं. ProtoLayout
FontSetting, उन फ़ॉन्ट के लिए राउंडनेस ऐक्सिस का इस्तेमाल करता है जो इस ऐक्सिस के साथ काम करते हैं. (I33eb5) - Material3 टेक्स्ट मेथड में,
multilineAlignmentका नाम बदलकर अलाइनमेंट कर दिया गया है. (I2b66b) - सर्कुलर प्रोग्रेस इंडिकेटर को बॉक्स टाइप में अपडेट करो. साथ ही,
mainContentमेंconstructGraphicको बॉक्स टाइप (I5a3dc) में अपडेट करो - ग्राफ़ (I039db) में सर्कुलर प्रोग्रेस इंडिकेटर का इस्तेमाल करने के लिए बेहतर सपोर्ट
गड़बड़ियां ठीक की गईं
ColorStopमें डाइनैमिक वैल्यू औरSweepGradientमें शुरुआती/आखिरी कोण के लिए भी डाइनैमिक वैल्यू इस्तेमाल करने की अनुमति दें. (I0146d)- Docs से जुड़ी समस्याएं ठीक की गई हैं. (I4a63a)
- Material 3 के कॉम्पोनेंट (
graphicCardऔरavatarButton) को अपडेट किया गया है, ताकिweightexpand डाइमेंशन के काम न करने पर फ़ॉलबैक उपलब्ध कराया जा सके. जैसे, एपीआई 33 से नीचे के वर्शन में. टेक्स्ट कॉम्पोनेंट को अपडेट किया गया है, ताकि रेंडरर केTEXT_OVERFLOW_ELLIPSIZEके साथ काम न करने पर, वहTEXT_OVERFLOW_ELLIPSIZE_ENDपर फ़ॉलबैक कर सके. (I19e2c) PrimaryLayoutMarginsके लिए Docs अपडेट. (Ibaf7b)
वर्शन 1.3.0-alpha07
29 जनवरी, 2025
androidx.wear.protolayout:protolayout-*:1.3.0-alpha07 रिलीज़ हो गया है. वर्शन 1.3.0-alpha07 में ये बदलाव शामिल हैं.
नई सुविधाएं
- Lottie ऐनिमेशन के लिए अलग-अलग ट्रिगर सेट करने का एपीआई विकल्प जोड़ा गया. इसके अलावा, लेआउट दिखने पर ट्रिगर फ़ायर होने के लिए एपीआई जोड़ा गया (I8272d)
border,visibility, औरopacityमॉडिफ़ायर जोड़े गए. (I6d3dd)- ProtoLayout Material3 कॉम्पोनेंट में अवतार बटन जोड़ा गया. (Idb5ae)
- अब हम Material3
primaryLayoutमें मार्जिन (साइड और कुछ मामलों में नीचे) को पसंद के मुताबिक बनाने की अनुमति दे रहे हैं. (Ib22f6) - सर्कुलर प्रोग्रेस इंडिकेटर का सेगमेंट किया गया वर्शन जोड़ें. (I6a648)
- ProtoLayout Material3 में कॉम्पैक्ट बटन कॉम्पोनेंट जोड़ा गया. (Ia3c5c)
- ProtoLayout Material3 में पिल शेप बटन और इमेज बटन कॉम्पोनेंट जोड़े गए. (Ifb88a)
एपीआई में हुए बदलाव
LayoutModfier.foldInको अबfoldRightकहा जाता है, ताकि इसके अनुमानित व्यवहार (Idf242) को बेहतर तरीके से दिखाया जा सकेVisibleOnceट्रिगर को अब एक्सपेरिमेंट के तौर पर उपलब्ध कराया गया है. (Ib2d26)- सार्वजनिक एपीआई से
withOpacityको हटा दें, क्योंकि ग्राफ़िक्स लाइब्रेरी का विकल्प मौजूद है. (I030c2) LayoutString.ktऔरLayoutColor.ktमें टॉप लेवल के तरीकों के नाम बदले गए हैं, ताकि वे Java के साथ काम कर सकें. (I7aff0)- Material3 में, ProtoLayout के अलावा अन्य टाइपोग्राफ़ी हटा दी गई हैं. (Idd9ae)
- Material3 में
*Colorsक्लास के फ़ील्ड में, Color सफ़िक्स जोड़ें. (I2d114)
गड़बड़ियां ठीक की गईं
- असमान कोनों की सुविधा के बिना, पुराने रेंडरर के लिए
EdgeButtonफ़ॉलबैक लागू करने की सुविधा जोड़ी गई. (I63364) - पुराने रेंडरर के साथ, सर्कुलर प्रोग्रेस इंडिकेटर का फ़ॉलबैक लागू करें. (I0f134)
वर्शन 1.3.0-alpha06
15 जनवरी, 2025
androidx.wear.protolayout:protolayout-*:1.3.0-alpha06 रिलीज़ हो गया है. वर्शन 1.3.0-alpha06 में ये बदलाव शामिल हैं.
नई सुविधाएं
LayoutColor, स्टैटिक और डाइनैमिक, दोनों तरह के रंगों के लिए (I4c89b)ProtoLayout Material3textButton कॉम्पोनेंट जोड़ा गया. (Id680d)iconButtonProtoLayout Material3 कॉम्पोनेंट जोड़ें. (Ica3f0)- ProtoLayout में Material3 बटन कंटेनर कॉम्पोनेंट जोड़ा गया. (I17a38)
- प्रोटोलayout-material3 में, चेन किए जा सकने वाले सिमैंटिक मॉडिफ़ायर के लिए सहायता जोड़ी गई (I4af62)
- ProtoLayout Material3 के सिंगल सेगमेंट
CircularProgressIndicatorको जोड़ा गया (I2c8a2) padding,metadataमॉडिफ़ायर जोड़े गए (I8720a)background,clip, औरclickableमॉडिफ़ायर जोड़े गए (I35478)- ब्रश में
LinearGradientजोड़ें और इसे बैकग्राउंड मॉडिफ़ायर में इस्तेमाल करने की अनुमति दें. (Ic4dea) - ऐप्लिकेशन कार्ड और
titleCardके लिए छोटा साइज़ जोड़ें. (I91f98) - ProtoLayout Material3
graphicDataCardकॉम्पोनेंट जोड़ा गया. (I92be7) - ProtoLayout Material3
iconDataCardऔरtextDataCardकॉम्पोनेंट जोड़े गए. (I4e1e4) - ProtoLayout Material3
appCardकॉम्पोनेंट जोड़ा गया. (Id4c57) EdgeButtonColorsसेButtonColorsतक की संख्याएं दिखाएं. (I83624)- ProtoLayout Material3
titleCardकॉम्पोनेंट जोड़ा गया. (I2dc72)
एपीआई में हुए बदलाव
- ProtoLayout Material3 API अब
LayoutStringको स्वीकार करता है, ताकि स्टैटिक और डाइनैमिक, दोनों तरह के टेक्स्ट इस्तेमाल किए जा सकें. (I9c24a)
गड़बड़ियां ठीक की गईं
DashedArcLine(I0c700) को बड़ा करने के लिए, रेंडरर लागू करने की सुविधा जोड़ी गईArcSpacerको डीपी की लंबाई लेने की अनुमति देने के लिए, रेंडरर में बदलाव किया गया. (I1437b)
वर्शन 1.3.0-alpha05
11 दिसंबर, 2024
androidx.wear.protolayout:protolayout-*:1.3.0-alpha05 रिलीज़ हो गया है. वर्शन 1.3.0-alpha05 में ये बदलाव शामिल हैं.
नई सुविधाएं
- बाइंड की जा सकने वाली लेआउट स्ट्रिंग फ़ील्ड के लिए,
LayoutStringको जोड़ा गया. (Ida650) ProtoLayout Material3कार्ड कंटेनर कॉम्पोनेंट जोड़ा गया. (Ic985a)
गड़बड़ियां ठीक की गईं
- यह लाइब्रेरी अब JSpecify nullness annotations का इस्तेमाल करती है. ये टाइप-यूज़ होते हैं. Kotlin डेवलपर को सही इस्तेमाल के लिए, कंपाइलर के इस तर्क का इस्तेमाल करना चाहिए:
-Xjspecify-annotations=strict(यह Kotlin कंपाइलर के 2.1.0 वर्शन से डिफ़ॉल्ट रूप से शुरू होता है). (Id1f9b, b/326456246)
वर्शन 1.3.0-alpha04
13 नवंबर, 2024
androidx.wear.protolayout:protolayout-*:1.3.0-alpha04 रिलीज़ हो गया है. वर्शन 1.3.0-alpha04 में ये बदलाव शामिल हैं.
नई सुविधाएं
- Material3 शेप को अपडेट करके, एक क्लास बना दिया गया है. इसमें ऐसे फ़ील्ड हैं जिनमें कॉर्नर की असल वैल्यू होती है. यह Wear Compose में मौजूद फ़ील्ड की तरह ही है. (Ied8cd)
- Material3 के रंगों को अपडेट किया गया है, ताकि इसमें
ColorSchemeकॉन्सेप्ट को शामिल किया जा सके. यह Wear Compose में मौजूद कॉन्सेप्ट जैसा ही है. (If645e) - टेस्टिंग लाइब्रेरी में, आम तौर पर इस्तेमाल किए जाने वाले कई मैचिंग फ़ंक्शन जोड़ें. (Ie5cec)
वर्शन 1.3.0-alpha03
30 अक्टूबर, 2024
androidx.wear.protolayout:protolayout-*:1.3.0-alpha03 रिलीज़ हो गया है. वर्शन 1.3.0-alpha03 में ये बदलाव शामिल हैं.
नई सुविधाएं
LayoutElementAssertionsProvider,LayoutElementAssertion, औरLayoutElementMatcherको टेस्टिंग लाइब्रेरी (Id1110) में जोड़ें
वर्शन 1.3.0-alpha02
16 अक्टूबर, 2024
androidx.wear.protolayout:protolayout-*:1.3.0-alpha02 रिलीज़ हो गया है. वर्शन 1.3.0-alpha02 में ये बदलाव शामिल हैं.
नई सुविधाएं
- Material 3 लाइब्रेरी का शुरुआती वर्शन. इसमें
text,edgeButton,buttonGroup, औरprimaryLayoutकॉम्पोनेंट शामिल हैं.
सुरक्षा से जुड़े सुधार
- इस बदलाव के बाद, androidx को protobuf 4.28.2 के साथ कंपाइल किया जाता है, ताकि CVE-2024-7254 को ठीक किया जा सके. जोखिम की आशंका को दूर करने के लिए,
androidx.wear.protolayout:protolayout-protoऔरandroidx.wear.protolayout:protolayout-external-protobufकी डिपेंडेंसी को 1.3.0-alpha01 से 1.3.0-alpha02 पर अपग्रेड करें.
बाहरी योगदान
वर्शन 1.3.0-alpha01
2 अक्टूबर, 2024
androidx.wear.protolayout:protolayout-*:1.3.0-alpha01 रिलीज़ हो गया है. वर्शन 1.3.0-alpha01 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- यह साफ़ तौर पर बताया गया है कि Roboto और Roboto Flex फ़ॉन्ट फ़ैमिली के नाम, डिवाइस पर उपलब्ध हैं या नहीं. (I193be)
- AndroidX Tile renderer में Roboto Flex फ़ॉन्ट फ़ैमिली चालू की गई. (I08e94)
वर्शन 1.2
वर्शन 1.2.1
16 अक्टूबर, 2024
androidx.wear.protolayout:protolayout-*:1.2.1 रिलीज़ हो गया है. वर्शन 1.2.1 में ये बदलाव शामिल हैं.
सुरक्षा से जुड़े सुधार
- इस बदलाव के बाद, androidx को protobuf 4.28.2 के साथ कंपाइल किया जाता है, ताकि CVE-2024-7254 को ठीक किया जा सके. जोखिम की आशंका को दूर करने के लिए,
androidx.wear.protolayout:protolayout-protoऔरandroidx.wear.protolayout:protolayout-external-protobufके 1.2.0 वर्शन पर अपनी डिपेंडेंसी को 1.2.1 पर अपग्रेड करें.
वर्शन 1.2.0
7 अगस्त, 2024
androidx.wear.protolayout:protolayout-*:1.2.0 रिलीज़ हो गया है. वर्शन 1.2.0 में ये बदलाव शामिल हैं.
1.1.0 के बाद हुए अहम बदलाव
FontStyleको अपडेट किया गया है, ताकि वैरिएबल ऐक्सिस के लिए ज़्यादा फ़ॉन्ट इस्तेमाल किए जा सकें. साथ ही, फ़ॉन्ट चुनने के लिए बेहतर एपीआई का इस्तेमाल किया जा सके, ताकि आने वाले समय में फ़्लेक्स फ़ॉन्ट इस्तेमाल किए जा सकें.- अतिरिक्त मॉडिफ़ायर के लिए सहायता:
- ट्रांसफ़ॉर्मेशन मॉडिफ़ायर, जो ऐनिमेशन के साथ या उसके बिना ट्रांसलेशन, रोटेशन, और स्केलिंग की सुविधा देता है.
- हर कोने की रेडियस के लिए अलग-अलग वैल्यू (हॉरिज़ॉन्टल और वर्टिकल) तय करना.
- क्लिक किए जा सकने वाले मॉडिफ़ायर का इस्तेमाल करने वाले किसी भी एलिमेंट के टैप किए जा सकने वाले एरिया को कम से कम
48dpx48dpतक बढ़ाकर, सभी टच टारगेट की ऐक्सेस-योग्यता को बेहतर बनाया गया है. - अलग-अलग स्क्रीन साइज़ पर इन लेआउट के रिस्पॉन्सिव व्यवहार को बेहतर बनाने और टाइल की एक जैसी स्टाइल को बेहतर बनाने के लिए,
PrimaryLayoutऔरEdgeContentLayoutमेंsetResponsiveContentInsetEnabledजोड़ा गया है. - Android 14 के नॉन-लीनियर फ़ॉन्ट स्केलिंग के लिए, Material Text की स्केलिंग/नॉन-स्केलिंग को बेहतर बनाया गया है.
- सभी आर्क एलिमेंट पर, दाएं से बाएं लेआउट की दिशा के लिए बेहतर सहायता.
अन्य बदलाव
- वर्शन 1.1.0 में किए गए बदलावों के बारे में ज़्यादा जानने के लिए, beta01 के रिलीज़ नोट देखें.
वर्शन 1.2.0-rc01
24 जुलाई, 2024
androidx.wear.protolayout:protolayout-*:1.2.0-rc01 रिलीज़ हो गया है. वर्शन 1.2.0-rc01 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- हमने स्टैंडर्ड मटीरियल चिप को ठीक कर दिया है, ताकि इसका इस्तेमाल सिर्फ़ आइकॉन के तौर पर किया जा सके. ऐसा तब होगा, जब कोई प्राइमरी या सेकंडरी लेबल पास न किया गया हो. (Iceef9)
- Material लेआउट के दस्तावेज़ को अपडेट किया गया है. इसमें लेआउट को आसानी से समझने के लिए, संबंधित पेज से विज़ुअल शामिल किए गए हैं. (I0256a)
वर्शन 1.2.0-beta01
10 जुलाई, 2024
androidx.wear.protolayout:protolayout-*:1.2.0-beta01 रिलीज़ हो गया है. वर्शन 1.2.0-beta01 में ये बदलाव शामिल हैं.
नई सुविधाएं
Wear ProtoLayout के 1.2.0-beta01 वर्शन से पता चलता है कि लाइब्रेरी का यह वर्शन, सभी सुविधाओं के साथ उपलब्ध है. साथ ही, एपीआई लॉक है. हालांकि, जिन एपीआई को एक्सपेरिमेंटल के तौर पर मार्क किया गया है वे लॉक नहीं हैं. Wear ProtoLayout 1.2 में ये नई सुविधाएं और एपीआई शामिल हैं:
FontStyleको अपडेट कर दिया गया है, ताकि इसमें ज़्यादा फ़ॉन्ट इस्तेमाल किए जा सकें. इसके लिए, यहां दी गई जानकारी देखें:- फ़ॉन्ट के अलग-अलग वर्शन की सेटिंग सेट करना. जैसे,
FontSetting.weightऔरFontSetting.width - सभी अंकों के लिए एक जैसी चौड़ाई सेट करना - टेबल वाले अंक (
FontSetting.tnumफ़ॉन्ट फ़ीचर सेटिंग) - फ़ॉन्ट चुनने वाले एपीआई को बेहतर बनाया गया है, ताकि आने वाले समय में फ़्लेक्स फ़ॉन्ट का इस्तेमाल किया जा सके. इसके लिए, इस्तेमाल की जाने वाली पसंदीदा फ़ॉन्ट फ़ैमिली के नाम तय किए जा सकते हैं.
- फ़ॉन्ट के अलग-अलग वर्शन की सेटिंग सेट करना. जैसे,
Cornerमॉडिफ़ायर को बढ़ाया गया है, ताकि हरCornerRadiusके लिए अलग-अलग हॉरिज़ॉन्टल और वर्टिकल वैल्यू तय की जा सकें. इससे, एसिमेट्रिक कॉर्नर वाले एलिमेंट बनाए जा सकते हैं.- एक नया
Transformationमॉडिफ़ायर जोड़ा गया है. इससेLayoutElementका अनुवाद किया जा सकता है, उसे घुमाया जा सकता है, और उसका साइज़ बदला जा सकता है. डाइनैमिक वैल्यू का इस्तेमाल करके, इन ट्रांसफ़ॉर्मेशन को ऐनिमेट किया जा सकता है. - सभी आर्क एलिमेंट (
Arc,ArcLine, औरArcText) के लिए,ClockwiseकोClockwise,CounterClockwise, औरNormalविकल्पों के साथ जोड़ा गया है. इससे अलग-अलग लेआउट की दिशाओं (जैसे कि एलटीआर और आरटीएल) में बेहतर तरीके से काम किया जा सकेगा.setArcDirection Clickableमॉडिफ़ायर का इस्तेमाल करने वाले किसी भी एलिमेंट के टैप किए जा सकने वाले हिस्से को48dpसे बढ़ाकर कम से कम48dpकरने पर, सभी टच टारगेट की ऐक्सेसिबिलिटी बेहतर हुई.- अलग-अलग स्क्रीन साइज़ पर इन लेआउट के रिस्पॉन्सिव व्यवहार को बेहतर बनाने और टाइल की एक जैसी स्टाइल को बेहतर बनाने के लिए,
PrimaryLayoutऔरEdgeContentLayoutमेंsetResponsiveContentInsetEnabledजोड़ा गया है. इन एपीआई को तुरंत ठीक करने के साथ इस्तेमाल करने का सुझाव देने के लिए, लिंटर की चेतावनी जोड़ी गई. - Android 14 के नॉन-लीनियर फ़ॉन्ट स्केलिंग के लिए, Material
Textकी स्केलिंग/नॉन-स्केलिंग को बेहतर बनाया गया है.
एपीआई में हुए बदलाव
- डिफ़ॉल्ट फ़ॉन्ट फ़ैमिली का नाम (
DEFAULT_SYSTEM_FONT) हटा दिया गया है, क्योंकिpreferredFontFamiliesएपीआई का इस्तेमाल न करने से यह अपने-आप लागू हो जाता है. (I39dab) FontSetting.widthमें पास किया गया पैरामीटर पॉज़िटिव होना चाहिए. (I1266f)
वर्शन 1.2.0-alpha05
26 जून, 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha05 रिलीज़ हो गया है. वर्शन 1.2.0-alpha05 में ये बदलाव शामिल हैं.
नई सुविधाएं
Material.CompactChipमेंhasTextतरीका जोड़ें, ताकि यह पता चल सके कि टेक्स्ट कॉन्टेंट सेट किया गया है या नहीं. (I6e8fc)
एपीआई में हुए बदलाव
FontFamilyकॉन्स्टेंट को Builder क्लास के बजायFontStyleमें ले जाया जाता है. (I06ced)- रेंज एनोटेशन शामिल करने के लिए,
FontSetting.weightऔरFontSetting.widthएपीआई अपडेट करें. साथ ही, वज़न के पैरामीटर को int में बदलें. (Ia726c)
गड़बड़ियां ठीक की गईं
- Material लाइब्रेरी में मौजूद नॉन-स्केलेबल टेक्स्ट अब Android 14 की नॉन-लीनियर फ़ॉन्ट स्केलिंग के साथ सही तरीके से काम करते हैं. (I6601e)
वर्शन 1.2.0-alpha04
29 मई, 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha04 रिलीज़ हो गया है. वर्शन 1.2.0-alpha04 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- असमान कोनों वाला एपीआई जोड़ा गया है, ताकि हर कोने के रेडियस को दो वैल्यू के साथ अलग-अलग सेट किया जा सके. (Icbd69)
FontSettingएपीआई को इन चीज़ों के लिए भी उपलब्ध कराया गया है:FontStyleमें फ़ॉन्ट फ़ैमिली एपीआई जोड़ा गया है, ताकि यह तय किया जा सके कि किन फ़ॉन्ट फ़ैमिली का इस्तेमाल किया जाना चाहिए. (Iba9f5)- Material
LayoutDefaultsमें कॉन्टेंट और सेकंडरी लेबल के बीच की जगह की ऊंचाई के लिए, “Edge content” से शुरू होने वाले कॉन्स्टेंट का नाम बदलकर ज़्यादा सामान्य कर दिया गया है. ऐसा इसलिए किया गया है, ताकि इन्हेंPrimaryLayoutऔरEdgeContentLayout, दोनों पर लागू किया जा सके. (I4dc32)
गड़बड़ियां ठीक की गईं
- वैरिएबल फ़ॉन्ट ऐक्सिस के नाम बदलने की सुविधा को
axisNameसेaxisTagमें बदला गया. (I02ba3)
वर्शन 1.2.0-alpha03
14 मई, 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha03 रिलीज़ हो गया है. वर्शन 1.2.0-alpha03 में ये बदलाव शामिल हैं.
नई सुविधाएं
FontStyleके लिए, कस्टम वेट वैल्यू सेट करने के लिए एपीआई जोड़ा गया. (I7390a)
गड़बड़ियां ठीक की गईं
- टारगेट मैप खाली होने की वजह से,
getTouchDelegateInfoमें हुई गड़बड़ी को ठीक करें. (I2accf)
वर्शन 1.2.0-alpha02
1 मई, 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha02 रिलीज़ हो गया है. वर्शन 1.2.0-alpha02 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- हमने क्लिक किए जा सकने वाले अलग-अलग एलिमेंट पर, रिपल फ़ीडबैक को बंद करने की सुविधा जोड़ी है. (If1ede)
- ट्रांसफ़ॉर्मेशन के लिए एपीआई को
ArcModifiersसे हटा दिया गया है, क्योंकि वे इस सुविधा के साथ काम नहीं करते (Ic0827) ArcDirectionPropBuilder अब कंस्ट्रक्टर में वैल्यू की उम्मीद करता है. (I76ada)PlatformDataValues.Builder.putAllतरीके से, एकPlatformDataValueको दूसरेPlatformDataValueमें मर्ज किया जा सकेगा. (I50ba3)Text#setIsScalableका नाम बदलकरText#setScalableकर दिया गया है. (If920e)- Material Text यह सेट कर सकता है कि स्केलेबल साइज़ का इस्तेमाल करना है या नहीं. स्केलेबल साइज़ का मतलब है कि जब उपयोगकर्ता फ़ॉन्ट का साइज़ बदलता है, तो टेक्स्ट का साइज़ भी बढ़ जाता है. (Ibc849)
- हमने कॉन्टेंट के ब्यौरे को
TitleChipपर सेट करने का विकल्प जोड़ा है. (I5d21f) - सिर्फ़ आइकॉन के साथ सही तरीके से काम करने के लिए,
CompactChipको ठीक किया गया है. साथ ही, इस विकल्प को अनुमति देने के लिए एपीआई को अपडेट किया गया है. (I6589e)
गड़बड़ियां ठीक की गईं
- शुरुआत में, प्लैटफ़ॉर्म के डुप्लीकेट डेटा की समस्या को ठीक किया गया है. (Iba0fd)
- नोड की लागत वापस पाने के लिए,
DynamicDataNodeमें एक नया गेटर जोड़ें. इस लागत का इस्तेमाल, डाइनैमिक नोड का कोटा हासिल करने के लिए किया जाता है. फ़िलहाल, तय की गई वैल्यू वाले नोड की लागत 0 होगी. वहीं, अन्य सभी नोड की लागत 1 होगी. (Ia33e1) NO_OP_QUOTA_MANAGERसे गिनती करने का लॉजिक हटाएं. (Ib50b8)- हमने एक लिंट नियम जोड़ा है. इससे
PrimaryLayoutका इस्तेमालsetResponsiveContentInsetEnabledके बिना किए जाने पर, चेतावनी की सूचना दी जाएगी. साथ ही, इसे तुरंत ठीक करने का तरीका भी बताया जाएगा. (I12025) - डाइनैमिक एक्सप्रेशन नोड की संख्या की एक सीमा होती है. (Iffae8)
वर्शन 1.2.0-alpha01
6 मार्च, 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha01 रिलीज़ हो गया है. वर्शन 1.2.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
ProtoLayout Arcएलिमेंट में अबArcDirection(Clockwise,CounterclockwiseयाNormal) जोड़ने का विकल्प उपलब्ध है. इस व्यवहार कोArc,ArcLineयाArcTextमें जोड़ने से, आरटीएल लेआउट पर उनके व्यवहार को ठीक किया जा सकेगा. (I90699)EdgeContentLayoutको नएsetResponsiveContentInsetEnabledसेटर के साथ अपडेट किया गया है. इससे यूज़र एक्सपीरियंस (यूएक्स) के दिशा-निर्देशों के साथ बेहतर अलाइनमेंट हासिल किया जा सकेगा. साथ ही, टाइल में एकरूपता बनी रहेगी. इसके लिए, मुख्य लेबल को सबसे ऊपर तय जगह पर रखा जाएगा और लेबल के लिए रिस्पॉन्सिव इंसर्ट का इस्तेमाल किया जाएगा. (I60175)- हमने इस लेआउट में
PrimaryLayout.setResponsiveContentInsetEnabledजोड़ा है. इससे प्राइमरी लेबल, सेकंडरी लेबल, और बॉटम चिप में रिस्पॉन्सिव इंसर्ट जुड़ जाता है, ताकि कॉन्टेंट स्क्रीन के किनारे से बाहर न जाए. (I0c457) CircularProgressIndicatorसे बाहरी मार्जिन हटाने का तरीका जोड़ता है, ताकि इसे छोटे कॉम्पोनेंट के तौर पर इस्तेमाल किया जा सके. (I55c06)
एपीआई में हुए बदलाव
- टाइल्स रेंडरर अब डिफ़ॉल्ट रूप से, सभी टेक्स्ट एलिमेंट पर फ़ॉन्ट पैडिंग को शामिल नहीं करता है. साथ ही, इसे शामिल करने का विकल्प भी नहीं देता है. (I3e300)
गड़बड़ियां ठीक की गईं
- टेक्स्ट पर एलिप्सिस, लेटर स्पेसिंग, और सेंटर अलाइन, इन सभी का इस्तेमाल करने पर टेक्स्ट अलाइनमेंट की समस्या ठीक की गई. (I716c7)
- स्काइया आर्क ड्राइंग की समस्या को हल करने के लिए, एक तरीका जोड़ा गया है. (I08f09)
- आरटीएल लेआउट के लिए,
ArcLineकी ड्राइंग की दिशा ठीक की गई. (I6c141)
वर्शन 1.1
वर्शन 1.1.0
7 फ़रवरी, 2024
androidx.wear.protolayout:protolayout-*:1.1.0 रिलीज़ हो गया है. वर्शन 1.1.0 में ये बदलाव शामिल हैं.
1.0.0 के बाद हुए अहम बदलाव
ArcLineमें, ग्रेडिएंट की सुविधा और 360 डिग्री से ज़्यादा की लंबाई को बेहतर तरीके से दिखाने की सुविधा.- तारीख और समय के फ़ॉर्मैट में, डाइनैमिक डेटा टाइप के लिए अलग-अलग टाइम ज़ोन इस्तेमाल किए जा सकते हैं.
- टेक्स्ट के अपने-आप आकार बदलने और टेक्स्ट में काट-छांट करने के बेहतर विकल्प, ताकि काटे गए टेक्स्ट को मैनेज किया जा सके.
- स्पेस देने वाले कॉम्पोनेंट में, बड़े किए गए डाइमेंशन का इस्तेमाल किया जा सकता है. साथ ही, इसमें वेट तय करने का विकल्प भी होता है.
- सभी
ProtoLayoutएपीआई के लिए, स्कीमा वर्शन की ज़रूरी शर्तों का एनोटेशन. - ऐक्सेसिबिलिटी की ज़रूरी शर्तों को पूरा करने के लिए, किसी भी
Clickableएलिमेंट के टारगेट एरिया को 48 dp x 48 dp तक बढ़ाया गया है. - फ़ॉन्ट पैडिंग की सुविधा डिफ़ॉल्ट रूप से बंद होती है. यह सुविधा, टेक्स्ट वाले सभी एलिमेंट और टेक्स्ट वाले सभी कॉम्पोनेंट के लिए एक जैसी होती है.
अन्य बदलाव
- वर्शन 1.1.0 में किए गए बदलावों के बारे में ज़्यादा जानने के लिए, beta01 के रिलीज़ नोट देखें.
वर्शन 1.1.0-rc01
24 जनवरी, 2024
androidx.wear.protolayout:protolayout-*:1.1.0-rc01 रिलीज़ हो गया है. वर्शन 1.1.0-rc01 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- अपडेट की सुविधा चालू करने के तुरंत बाद,
PlatformTimeUpdateNotifierImplपर सही का निशान लग जाता है. (I77145) - आरटीएल लेआउट के लिए,
CircularProgressIndicatorको ठीक कर दिया गया है. अब से, यह सभी मामलों में घड़ी की सुई की दिशा में घूमेगा. (I95ee3) - स्काइया आर्क ड्राइंग की समस्या को हल करने के लिए, एक तरीका जोड़ा गया है. (I08f09)
वर्शन 1.1.0-beta01
10 जनवरी, 2024
androidx.wear.protolayout:protolayout-*:1.1.0-beta01 रिलीज़ हो गया है. वर्शन 1.1.0-beta01 में ये बदलाव शामिल हैं.
नई सुविधाएं
Wear ProtoLayout के 1.1.0-beta01 वर्शन से पता चलता है कि लाइब्रेरी का यह वर्शन पूरी तरह से काम करता है. साथ ही, एपीआई लॉक है. हालांकि, जिन एपीआई को एक्सपेरिमेंटल के तौर पर मार्क किया गया है वे लॉक नहीं हैं. Wear ProtoLayout 1.1 में ये नई सुविधाएं और एपीआई शामिल हैं:
ArcLineमें अब ग्रेडिएंट की सुविधा उपलब्ध है. इसके लिए, मौजूदाStrokeCapमेंShadowजोड़कर,SweepGradientके साथBrushजोड़ा गया है. साथ ही, कैप पर शैडो जोड़ा गया है, ताकि 360 डिग्री से ज़्यादा की लंबाई को बेहतर तरीके से दिखाया जा सके.DynamicInstantमें, ज़ोन के हिसाब से तारीख और समय को फ़ॉर्मैट करने की सुविधा उपलब्ध है.DynamicInstantऔरDynamicDurationको राज्य या प्लैटफ़ॉर्म के डेटा टाइप के तौर पर इस्तेमाल किया जा सकता है.- टेक्स्ट के साइज़ के लिए अपने-आप साइज़ बदलने की सुविधा. इससे
FontStyle.setSizesके लिए कई साइज़ सेट किए जा सकते हैं. इसमें टेक्स्ट का साइज़, पैरंट के अंदर मौजूद जगह के हिसाब से अपने-आप स्केल हो जाएगा. इसके अलावा, हमने टेक्स्ट के लिए एलिप्सिस के विकल्पों को बेहतर बनाया है. इसके लिए, हमनेTEXT_OVERFLOW_ELLIPSIZEको जोड़ा है औरTEXT_OVERFLOW_ELLIPSIZE_ENDको बंद कर दिया है. Spacerअब वैकल्पिक वेट के साथ बड़े किए गए डाइमेंशन के साथ काम करता है.ExpandedDimensionPropबनाने के लिए, हमने हेल्पर मेथडDimensionBuilders.weightजोड़ा है.Modifier.visibleकी मदद से, लेआउट एलिमेंट को डाइनैमिक तरीके से छिपाने और दिखाने की सुविधा. इसमेंBoolPropमें डाइनैमिक वैल्यू शामिल करना भी शामिल है.- सभी
ProtoLayoutएपीआई के लिए, अब स्कीमा वर्शन की ज़रूरी शर्तों का एनोटेशन उपलब्ध है. साथ ही, नए एपीआई को कॉल करने से पहले, वर्शन की जांच की जा सकती है. - अब
Clickableवाले हर एलिमेंट का टारगेट एरिया, रेंडरर में कम से कम 48x48 तक बढ़ा दिया गया है, ताकि ऐक्सेसिबिलिटी से जुड़ी ज़रूरी शर्तों को बेहतर तरीके से पूरा किया जा सके. - Material के अन्य कॉम्पोनेंट और Compose की पहल के बाद, हमने अब सभी
Textएलिमेंट पर फ़ॉन्ट पैडिंग को डिफ़ॉल्ट रूप से बंद कर दिया है. इसके अलावा,AndroidTextStyleऔर इससे जुड़े सेटर को सार्वजनिक एपीआई से हटा दिया गया है. साथ ही, इन बग को ठीक किया गया है: EdgeContentLayoutमें एज कॉन्टेंट को पोज़िशन करने के लिए एक सेटर जोड़ा गया है, ताकि इसे अन्य कॉन्टेंट से पहले पोज़िशन किया जा सके.- पहचान में न आने वाली enum वैल्यू मिलने पर, लगातार अपवाद थ्रो करना.
- जब कोई एक्सप्रेशन, अमान्य संख्यात्मक वैल्यू (NaN या इनफ़िनिट) देता है या
ArithmeticExceptionदिखाता है, तो उसके नतीजे को अमान्य कर देता है.
एपीआई में हुए बदलाव
SweepGradientएपीआई में अपडेट किए गए हैं, ताकि कंस्ट्रक्टर में रंगों याColorStopsमें से किसी एक को स्वीकार किया जा सके. (I6676f)
गड़बड़ियां ठीक की गईं
- पाबंदी वाले एपीआई और रेंडरर की सुविधा जोड़ी गई है. इसकी मदद से, यह तय किया जा सकता है कि आर्क एलिमेंट किस दिशा में बनाए जाएं. (Idef5a)
- अगर
RoundModeकी वैल्यू नहीं दी जाती है, तोFloatToInt32Nodeमें इसकी वैल्यू डिफ़ॉल्ट रूप सेFloorहोती है. अगर दिया गयाRoundModeमान्य नहीं है, तो नोड अब भी एक अपवाद देगा. (I1b2d8)
वर्शन 1.1.0-alpha04
13 दिसंबर, 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha04 रिलीज़ हो गया है. वर्शन 1.1.0-alpha04 में ये बदलाव शामिल हैं.
नई सुविधाएं
VersionInfoक्लास,Comparableइंटरफ़ेस को लागू नहीं करती है. (I8d13c)- Renderer में अब
TEXT_OVERFLOW_ELLIPSIZEविकल्प काम करता है. (I7f085)
एपीआई में हुए बदलाव
- टेक्स्ट के तय जगह से बाहर जाने के विकल्प
TEXT_OVERFLOW_ELLIPSIZE_ENDके इस्तेमाल पर अब रोक लगा दी गई है. कृपयाTEXT_OVERFLOW_ELLIPSIZEनए एपीआई का इस्तेमाल करें. यह एपीआई, पुराने एपीआई की तरह ही काम करता है. (I822d8) - Material के अन्य कॉम्पोनेंट और Compose की पहल के बाद, अब हमने सभी टेक्स्ट एलिमेंट पर फ़ॉन्ट पैडिंग को डिफ़ॉल्ट रूप से बंद कर दिया है. इसके अलावा,
AndroidTextStyleऔर इससे जुड़े सेटर को सार्वजनिक एपीआई से हटा दिया गया है. (I79094, Ib0b03, I32959, Iaf7d5, Ifa298, I0a4ae, Ida9d3) Modifier.hiddenकोModifier.visible(I56902) से बदल दिया गया हैFontStyle#setSizesअबSpPropआर्ग्युमेंट के बजाय int स्वीकार करता है. (I02b37)
गड़बड़ियां ठीक की गईं
- जब Undefined या Unrecognized enum वैल्यू मिलती है, तो एक अपवाद थ्रो करें. (I9d2cf)
- कोड को बेहतर बनाना
DynamicTypeBindingRequest. (I27b57) - जब कोई एक्सप्रेशन, अमान्य संख्यात्मक वैल्यू (NaN या इनफ़िनिट) देता है या
ArithmeticExceptionदिखाता है, तो उसके नतीजे को अमान्य कर देता है. (I681ae)
वर्शन 1.1.0-alpha03
29 नवंबर, 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha03 रिलीज़ हो गया है. वर्शन 1.1.0-alpha03 में ये बदलाव शामिल हैं.
नई सुविधाएं
- लेआउट एलिमेंट को डाइनैमिक तरीके से छिपाने/दिखाने की सुविधा के लिए एक्सपेरिमेंटल सपोर्ट जोड़ी गई (I64a78)
BoolProp(I2fe96) में डाइनैमिक वैल्यू जोड़ने की सुविधा जोड़ी गईProtoLayoutएपीआई में स्कीमा वर्शन की ज़रूरी शर्तों से जुड़ा एनोटेशन जोड़ा गया (I0f03c)- एपीआई को
TextOverflowमें मौजूद नए विकल्प के साथ एक्सटेंड किया गया है. इससे, टेक्स्ट को फ़िक्स किए गए पैरंट कंटेनर में छोटा किया जा सकता है. ऐसा तब भी किया जा सकता है, जब लाइनों की ज़्यादा से ज़्यादा संख्या तक न पहुंचा गया हो, लेकिन टेक्स्ट के लिए काफ़ी जगह न हो. (I110a9) - वज़न के साथ
ExpandedDimensionPropबनाने के लिए, हेल्पर तरीकेDimensionBuilders.weightको जोड़ा गया. (I4f72b) DynamicInstantऔरDynamicDurationको राज्य या प्लैटफ़ॉर्म के डेटा टाइप के तौर पर इस्तेमाल किया जा सकता है. (I6819f)
एपीआई में हुए बदलाव
- एपीआई को अपडेट करके
DynamicZonedDateTimeको छिपाएं और इसके सभी ऑपरेशन कोDyanamicInstant(I34b94) पर ले जाएं - स्पेस देने वाले कॉम्पोनेंट में अब चौड़ाई/ऊंचाई के लिए, बड़ा किया गया डाइमेंशन इस्तेमाल किया जा सकता है. (Ie7c94)
- रेंडरर (I39c79) में क्लिक टारगेट एरिया एक्सटेंशन के लिए सहायता
वर्शन 1.1.0-alpha02
15 नवंबर, 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha02 रिलीज़ हो गया है. वर्शन 1.1.0-alpha02 में ये बदलाव शामिल हैं.
नई सुविधाएं
- एपीआई में
ArcLineStrokeCapShadowफ़ील्ड जोड़ा गया. (I830ec) - एपीआई को इस तरह से बढ़ाया गया है कि स्पेसर की चौड़ाई या ऊंचाई को बड़ा किया जा सके. (I757ca)
- हमने एक एक्सपेरिमेंटल एपीआई जोड़ा है. इससे पैरंट के अंदर मौजूद जगह के हिसाब से, टेक्स्ट का साइज़ अपने-आप बदल जाता है. (Ibbe63)
- क्लिक किए जा सकने वाले कम से कम साइज़ (I178e3) के बारे में जानकारी
StrokeCapShadowके लिए, रेंडरर की सुविधा जोड़ी गई. (I48b17)ArcLineमें स्वीप ग्रेडिएंट के लिए रेंडरर की सुविधा जोड़ी गई. (I4d5bb)
वर्शन 1.1.0-alpha01
18 अक्टूबर, 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha01 रिलीज़ हो गया है. वर्शन 1.1.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
Arclineमें ब्रश का विकल्प जोड़ा गया है. यहSweepGradientके साथ काम करता है. (Ie7ce3)- ज़ोन के हिसाब से तारीख और समय के फ़ॉर्मैटिंग के लिए सहायता जोड़ी गई. (Ibfae0)
- ज़ोन के हिसाब से तारीख और समय को फ़ॉर्मैट करने के लिए ज़रूरी प्रोटो और Java रैपर जोड़े गए. (I97126)
DynamicDataValueमें सेव की गई वैल्यू को वापस पढ़ने के लिए, गेटर जोड़े गए हैं. (Ie6cea)EdgeContentLayoutमें एज कॉन्टेंट को पोज़िशन करने के लिए एक सेटर जोड़ा गया है, ताकि इसे अन्य कॉन्टेंट से पहले पोज़िशन किया जा सके. (Ie8e8a)
गड़बड़ियां ठीक की गईं
- हमने उस समस्या को ठीक किया है जिसमें एक से ज़्यादा टाइम डेटा सोर्स रजिस्ट्रेशन वाले एक्सप्रेशन को तुरंत अपडेट नहीं किया जा रहा था. (I8e1a8)
- डिफ़ अपडेट के दौरान रूट एलिमेंट को बीच में लाने से जुड़ी गड़बड़ी को ठीक किया गया है. (Ie48f7)
- लेआउट की पाबंदी की ऐसी वैल्यू को अब अनदेखा नहीं किया जाएगा जिन्हें सेट नहीं किया गया है या जो खाली हैं. (Ibc785)
- लेआउट दिखने और उसके पाइपलाइन नोड के शुरू होने के बीच लगने वाला समय कम हो गया है. (I38d4e)
वर्शन 1.0
वर्शन 1.0.0
9 अगस्त, 2023
androidx.wear.protolayout:protolayout-*:1.0.0 रिलीज़ हो गया है. वर्शन 1.0.0 में ये बदलाव शामिल हैं.
1.0.0 वर्शन की मुख्य सुविधाएं
ProtoLayout लाइब्रेरी, लेआउट और एक्सप्रेशन बनाने के लिए एपीआई उपलब्ध कराती है. इनका इस्तेमाल अलग-अलग Wear OS प्लैटफ़ॉर्म पर किया जा सकता है. उदाहरण के लिए, Tiles library इन एपीआई का इस्तेमाल, प्लैटफ़ॉर्म डेटा बाइंडिंग (टाइल के डेटा को तेज़ी से अपडेट करने के लिए) और ऐनिमेशन के लिए करती है.
वर्शन 1.0.0-rc01
26 जुलाई, 2023
androidx.wear.protolayout:protolayout-*:1.0.0-rc01 रिलीज़ हो गया है. वर्शन 1.0.0-rc01 में ये बदलाव शामिल हैं.
- Tiles से
ProtoLayoutपर माइग्रेट करने के लिए, कृपया यहां दिए गए निर्देशों का पालन करें.
एपीआई में हुए बदलाव
- हमने Arc एलिमेंट से
setLayoutConstraintForDynamicAnchorAngleऔरgetLayoutConstraintForDynamicAnchorAngleतरीकों को हटा दिया है. इन तरीकों को गलती से जोड़ा गया है. साथ ही, इनसे दिए गए लेआउट पर कोई असर नहीं पड़ा. (If7d01) - हमने
ProtoLayoutके लेआउट में ज़्यादा से ज़्यादा 30 नेस्ट किए गएLayoutElementsशामिल करने की सीमा तय की है. (I8a74b)
गड़बड़ियां ठीक की गईं
- हमने एक जांच जोड़ी है, ताकि अगर
SpanTextके लिएDynamicColorसेट किया गया है, तो गड़बड़ी का पता लगाया जा सके. (I0e5bc) - यह साफ़ तौर पर बताया गया है कि
DAILY_CALORIESडेटा सोर्स की यूनिट, किलो कैलोरी है. (Iaa785)
वर्शन 1.0.0-beta01
21 जून, 2023
androidx.wear.protolayout:protolayout-*:1.0.0-beta01 रिलीज़ हो गया है. वर्शन 1.0.0-beta01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- टाइम बाइंडिंग की जांच के लिए घड़ी सेट करने की अनुमति दें. (I05622)
एपीआई में हुए बदलाव
PlatformDataReceiver.onData()औरStateBuilders.Builder.addKeyToValueMappingअब असुरक्षित जनरिक्स के बजाय,DynamicDataKeyसेDynamicDataValueकी टाइप-सेफ़ मैपिंग स्वीकार करते हैं. इसका मतलब है कि अबDynamicDataValueको उसकेDynamicTypeके साथ टाइप किया गया है. Android के अन्य कॉन्स्टेंट की पोज़िशनिंग से मेल खाने के लिए,HEART_RATE_ACCURACY_Xकॉन्स्टेंट कोPlatformHealthSourcesके रूट में ले जाया गया.HEART_RATE_ACCURACY_Xइंट कॉन्स्टेंट का इस्तेमाल अब वैल्यू कॉन्स्टेंट के बजाय, सीधे तौर परDynamicHeartRateAccuracy.constant()औरDynamicHeartRateAccuracy.dynamicDataValueOf()में किया जाता है. (I82ff5)PlatformHealthSources.Constantsक्लास को गलती से इंस्टैंशिएट किया जा सकता था. अब यह समस्या ठीक कर दी गई है. (Icb849)PlatformTimeUpdateNotifier#setReceiverको अबSupplierफ़ंक्शन औरExecutorके बजायRunnableफ़ंक्शन मिलता है, ताकि वह सूचनाएँ भेज सके. (I9d938)- हमने
PlatformTimeUpdateNotifier#setReceiverमें पैरामीटर टाइप कोCallableसे बदलकरSupplierकर दिया है. (I664bf) CompactChipऔरTitleChipमें अब आइकॉन जोड़ने की सुविधा उपलब्ध है. (I5a01e)
गड़बड़ियां ठीक की गईं
- Prop messages को डाइनैमिक फ़ील्ड के साथ अपडेट करें, ताकि oneof का इस्तेमाल किया जा सके (I81739)
- सेटर वाले ओवरलोड के लिए, सेटर को फिर से इस्तेमाल करने की सुविधा लागू की गई है (Ied70c)
- सेटर में फ़िंगरप्रिंट को सही तरीके से रिकॉर्ड करें, जिनमें ओवरलोड (I86ed2) हैं
वर्शन 1.0.0-alpha11
7 जून, 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha11 रिलीज़ हो गया है. वर्शन 1.0.0-alpha11 में ये बदलाव शामिल हैं.
नई सुविधाएं
- हमने दिल की धड़कन की दर के सटीक होने के लिए,
PlatformDataKeyजोड़ा है. (I7f9b8)
एपीआई में हुए बदलाव
StateBuilders#getIdToValueMappingका नाम बदलकरgetKeyToValueMappingकरें और रिटर्न टाइप कोMap<<AppDataKey<?>,DynamicDataValue>में बदलें. (Iaa7ae)StateStoreको फ़ाइनल क्लास (I408ca) के तौर पर सेट करेंTimeGatewayइंटरफ़ेस कोprotolayout-expression-pipelineलाइब्रेरी मेंPlatformTimeUpdateNotifierसे बदल दिया गया है. यह समय के डेटा को अपडेट करने के लिए, तय की गई फ़्रीक्वेंसी उपलब्ध कराता है. (I60869)PlatformDataProviderमें मौजूदregister/unregisterForDataका नाम बदलकरset/clearReceiverकिया गया (I14b02)- मटेरियल टेक्स्ट में,
getExcludeFontPaddingका नाम बदलकरhasExcludeFontPaddingकर दिया गया है. (Iea01d) - लेबल को पूरी तरह से अलाइन करने के लिए सेटर को सभी चिप कॉम्पोनेंट में जोड़ा गया. अब सभी चिप में, कम से कम टैप किए जा सकने वाले टारगेट को लागू कर दिया गया है. (I8ae92)
LayoutDefaults#BUTTON_MAX_NUMBERका नाम बदलकरMAX_BUTTONSकर दिया गया है. (I84788)DAILY_DISTANCEका नाम बदलकरDAILY_DISTANCE_Mकर दिया गया है. (I4f758)
गड़बड़ियां ठीक की गईं
- प्रॉप टाइप के दस्तावेज़ अपडेट किए गए हैं, ताकि यह साफ़ तौर पर बताया जा सके कि स्टैटिक वैल्यू क्यों लागू की जाती है. अगर स्टैटिक वैल्यू नहीं दी गई है, तो इस्तेमाल की जाने वाली डिफ़ॉल्ट वैल्यू तय करें. (I155aa)
PlatformDataKeyनेमस्पेस के नाम, Java स्टाइल के मुताबिक होने चाहिए. (I47bda)
वर्शन 1.0.0-alpha10
24 मई, 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha10 रिलीज़ हो गया है. वर्शन 1.0.0-alpha10 में ये बदलाव शामिल हैं.
नई सुविधाएं
- ऐप्लिकेशन की पुश की गई स्थिति को ऐक्सेस करने के लिए
AppDataKeyजोड़ें; प्लैटफ़ॉर्म के डेटा को ऐक्सेस करने के लिएPlatformDataKeyजोड़ें;StateStoreमें नेमस्पेस की सुविधा जोड़ें. (I7985e) DynamicBoolके लिए,EqualऔरNotEqualकार्रवाइयों की सुविधा उपलब्ध है. (I6a0c1)
एपीआई में हुए बदलाव
FontStylesक्लास अब फ़ाइनल है (Iaa2ea)LayoutElementBuilders#FontStylesका अब इस्तेमाल नहीं किया जा सकता. कृपयाandroidx.wear.protolayout.Typographyका इस्तेमाल करें या अपनाFontStyleबनाएं. (Ic929b)Actionइंटरफ़ेस से, नेस्ट किए गएAction#Builderइंटरफ़ेस को छिपाएं. Builder को लागू करने की सुविधा,LoadActionऔरLaunchActionक्लास पहले से ही उपलब्ध कराती हैं. (I1d70c)FloatPropपरDynamicFloatका इस्तेमाल करने की अनुमति दें. ध्यान दें किFloatPropको लेआउट की सीमाओं की ज़रूरत नहीं होती, क्योंकि इसका इस्तेमाल लेआउट बदलने वाले प्रॉप के तौर पर नहीं किया जाता. (I286ac)LoalActionऔरSetStateActionकार्रवाइयों को हटा दिया गया है, क्योंकि ये अभी काम नहीं करती हैं. (I5d6a6)- इनलाइन इमेज रिसॉर्स के लिए, ARGB_8888 फ़ॉर्मैट का इस्तेमाल करने की सुविधा जोड़ी गई है. (I8a07c)
StateEntryValueका नाम बदलकरDynamicDataValueकरें. साथ ही,DynamicDataKey(If1c01) का इस्तेमाल करने के लिए, स्टेट एपीआई अपडेट करें- हम
StateStoreमें अनुमति वाली एंट्री की संख्या को सीमित कर रहे हैं. ऐसा इसलिए किया जा रहा है, ताकि यह पक्का किया जा सके किStateStoreके हर इंस्टेंस के लिए, मेमोरी का इस्तेमाल और स्टेटस अपडेट करने का समय अच्छी तरह से मैनेज और कंट्रोल किया जा सके. इसलिए, डेवलपर को यह पक्का करना होगा कि मैप मेंMAX_STATE_ENTRY_COUNTसे ज़्यादा एंट्री न हों. ऐसा न होने पर,StateStoreबनाते या अपडेट करते समय उन्हेंIllegalStateExceptionदिखेगा. (Ibadb3) OnLoadTriggerऔरOnConditionMetTriggerक्लास छिपाएं. साथ ही,OnConditionMetTriggerके लिएsetTriggerका नाम बदलकरsetConditionकरें. (Ibf629)- परफ़ॉर्मेंस और कंपैटिबिलिटी की वजह से,
ProtoLayoutरेंडरर,AnimatedVectorDrawableसंसाधनों में मौजूद सभी सुविधाओं के साथ काम नहीं करेंगे. हम उन एपीआई को एक्सपेरिमेंट के तौर पर तब तक मार्क कर रहे हैं, जब तक हम काम करने वाले सेट को तय नहीं कर लेते. (Ic6daf) - हर दिन तय की गई दूरी, हर दिन खर्च की गई कैलोरी, और हर दिन चढ़े गए फ़्लोर के लिए डाइनैमिक टाइप जोड़े गए. प्लैटफ़ॉर्म के स्वास्थ्य से जुड़े सोर्स की कुंजियां अब
PlatformHealthSources.Keys(Ib7637) में मौजूद हैं Easing.cubicBezierतरीके का इस्तेमाल,CubicBezierEasing.Builderकी जगह किया जाता है. इसके बाद,EasingFunctionक्लास को हटा दिया जाता है. साथ ही, उस क्लास के ईज़िंग कॉन्स्टेंट को अब सीधे तौर परEasingइंटरफ़ेस से ऐक्सेस किया जा सकता है. इसके अलावा,setInfiniteRepeatableकोINFINITE_REPEATABLE_WITH_RESTARTऔरINFINITE_REPEATABLE_WITH_REVERSE(Ib41e7) से बदल दिया गया है- धड़कन की दर और हर दिन चले गए कदमों की जानकारी देने के लिए,
PlatformDataProviderलागू करें.SensorGatewayइंटरफ़ेस को सार्वजनिक एपीआई से हटा दिया गया है. (I55b84) PlatformDataProviderजोड़ें औरStateStoreको अपडेट करें, ताकिPlatformDataProviderमें रजिस्टर किया जा सके. ऐसा तब करें, जब एक्सप्रेशन पाइपलाइन के नोड को सेवा देने वाली कंपनी की सहायता वाली कुंजी की ज़रूरत हो. (Ib616a)SensorGatewayअबCloseableनहीं है, क्योंकि यह अब किसी भी स्थिति को बनाए नहीं रखता. (I6b4f7)CircularProgressIndicatorमें प्रोग्रेस के लिए,DynamicFloatके साथFloatPropइस्तेमाल करने की अनुमति दें. यह सुविधा, वर्शन 1.2 के साथ काम करने वाले रेंडरर के लिए उपलब्ध है. पुराने रेंडरर,staticValueउपलब्ध होने पर इसका इस्तेमाल करेंगे. अगर यह उपलब्ध नहीं है, तो वे 0 (I0d91b) का इस्तेमाल करेंगेMultiButtonLayoutकॉन्स्टेंट कोLayoutDefaults.MultiButtonLayoutDefaultsक्लास में फिर से फ़ैक्टर किया गया है. अब इसमें लेआउट में मौजूद बटन की संख्या के आधार पर, बटन के साइज़ के लिए कॉन्स्टेंट शामिल हैं. (I13973)- मटीरियल टेक्स्ट में
DynamicStringके साथStringPropका इस्तेमाल करने की सुविधा. यह सुविधा, वर्शन 1.2 के साथ काम करने वाले रेंडरर के लिए उपलब्ध है. पुराने रेंडरर, दी गई स्टैटिक वैल्यू पर फ़ॉलबैक करेंगे.Text#getTextके रिटर्न टाइप कोStringसेStringPropमें अपडेट करें. (I7275b)
वर्शन 1.0.0-alpha09
10 मई, 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha09 रिलीज़ हो गया है. वर्शन 1.0.0-alpha09 में ये बदलाव शामिल हैं.
नई सुविधाएं
- हमने एक्सपेरिमेंटल एक्सटेंशन लेआउट एलिमेंट जोड़ा है. ध्यान दें कि इसका इस्तेमाल डिफ़ॉल्ट रूप से नहीं किया जा सकता. इसके लिए, रेंडरर एक्सटेंशन की ज़रूरत होती है, जो लेआउट एलिमेंट को समझ सके. (I6581d)
ArcLineके लिए,StrokeCapके साथ काम करने की सुविधा जोड़ी गई. (I94951)- शर्त के साथ झटपट लेन-देन करने की सुविधा जोड़ी गई. (I489a7)
- शर्त के साथ अवधि तय करने की सुविधा जोड़ी गई. (Iab469)
- सेकंड से अवधि बनाने की सुविधा जोड़ी गई. (Ib5fa1)
एपीआई में हुए बदलाव
enable/disablePlatformSourceके तरीकों कोDynamicTypeEvaluatorसे हटा दिया गया है. अपडेट के लिए, कॉल करने वाले व्यक्ति को ज़िम्मेदार ठहराया जाना चाहिए. (I78c6d)- इससे बाउंड डेटा टाइप के साइज़ को सीमित किया जा सकता है. (Ie2966)
protolayout-materialमें डाइनैमिक कॉन्टेंट के ब्यौरे के लिए सहायता जोड़ी गई. (I62c8e)- AnimationParameters में अवधि और देरी के लिए, long और
@IntRangeका इस्तेमाल करें. (I388b6)
वर्शन 1.0.0-alpha08
19 अप्रैल, 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha08 रिलीज़ हो गया है. वर्शन 1.0.0-alpha08 में ये बदलाव शामिल हैं.
नई सुविधाएं
AndroidTextStyleकोLayoutElementBuildersमें जोड़ दिया गया है. (I8d967)- हमने
ProtoLayoutMaterial Text में, फ़ॉन्ट पैडिंग को छोड़कर बाकी पैडिंग सेट करने की सुविधा जोड़ी है. (I17f5d) - अब इनलाइन इमेज के लिए ARGB_8888 काम करता है. (I18c1e)
DynamicColorअबonConditionऑपरेशन के साथ काम करता है. (I10927)
एपीआई में हुए बदलाव
- रिवर्स ऐनिमेशन के लिए कस्टम अवधि की सुविधा जोड़ी गई (I3251f)
- हमने
SemanticDescriptionमॉडिफ़ायर जोड़ा है. इसके अलावा,ContentDescriptionको बाइंड नहीं किया जा सकता. (I3f1d) DynamicBool.isFalse()तरीके को अबDynamicBool.negate()से बदल दिया गया है औरDynamicBool.isTrue()को हटा दिया गया है. इसके अलावा, NaNDynamicFloatवैल्यू औरDynamicInt32कोDynamicFloatतक सीमित करने पर, अब अमान्य डाइनैमिक नतीजा मिलता है. (I6ac1e)- Int और फ़्लोट फ़ॉर्मेटर अब बिल्डर पैटर्न का इस्तेमाल करते हैं. (Ieb213)
गड़बड़ियां ठीक की गईं
- ऐनिमेट किए जा सकने वाले फ़ील्ड से, फ़ॉलबैक स्टैटिक वैल्यू हटा दी गई है. (Ifcb01)
DynamicTypeValueReceiver#onPreUpdateको हटा दिया गया है. (I2dc35)- डाइनैमिक एक्सप्रेशन में स्ट्रिंग की लंबाई अब सीमित कर दी गई है. (I4c93)
- अब Gradle डिपेंडेंसी को ज़रूरत के हिसाब से
implementationके बजायapiपर सही तरीके से सेट किया जाता है. (I40503)
वर्शन 1.0.0-alpha07
5 अप्रैल, 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha07 रिलीज़ हो गया है. वर्शन 1.0.0-alpha07 में ये बदलाव शामिल हैं.
नई सुविधाएं
StringProp(I04342) एट्रिब्यूट के लिए डाइनैमिक वैल्यू जोड़ने की सुविधा- डेटा बाइंड किए जा सकने वाले लेआउट एलिमेंट (Ia110b) मार्क करना
एपीआई में हुए बदलाव
sensorGateway#registerSensorGatewayConsumer, Consumer में तरीके के बजाय डेटा टाइप को पैरामीटर के तौर पर लेता है. (Icf314)ObservableStateStoreका नाम बदलकरStateStoreकर दिया गया है. (Ieb0e2)- कंस्ट्रक्टर आर्ग्युमेंट के बजाय
DynamicTypeEvaluator.Builderजोड़ा गया है, ताकि ज़्यादा वैकल्पिक आर्ग्युमेंट इस्तेमाल किए जा सकें. इनमेंObservableStateStoreभी शामिल है, जो अब डिफ़ॉल्ट रूप से खाली स्टोर पर सेट है. (I6f832) DynamicTypeEvaluatorमें पैरामीटर का क्रम बदला गया. (Ic1ba4)
गड़बड़ियां ठीक की गईं
- प्लैटफ़ॉर्म सेंसर सोर्स से डाउनस्ट्रीम नोड (I5a922) तक सिग्नल सही तरीके से भेजना
वर्शन 1.0.0-alpha06
22 मार्च, 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha06 रिलीज़ हो गया है. वर्शन 1.0.0-alpha06 में ये बदलाव शामिल हैं.
नई सुविधाएं
- हमने डाइनैमिक एक्सप्रेशन (Ifd711) में दिल की धड़कन और रोज़ाना के कदमों की संख्या का इस्तेमाल करने के लिए, एक्सपेरिमेंट के तौर पर एक एपीआई जोड़ा है
- हमने ऐनिमेशन के लिए, रिवर्स और फ़ॉरवर्ड डिले की सुविधा जोड़ी है. (Ic25f7)
- हमने बॉर्डर और बैकग्राउंड के लिए
DynamicColorकी सुविधा जोड़ी है - हमने
DimensionBuilderमें मौजूद टाइप के लिए, डाइनैमिक वैल्यू इस्तेमाल करने की सुविधा जोड़ी है tiles-materialके लेआउट और कॉम्पोनेंट,protolayout-materialमें ट्रांसफ़र हो रहे हैं
एपीआई में हुए बदलाव
LoadActionListenerकोProtoLayoutViewInstanceमें जोड़ दिया गया है. (If7806)
गड़बड़ियां ठीक की गईं
FloatNodesTestको जोड़ा गया (Id7281)- स्ट्रक्चर्ड बिटमैप लोड न होने पर, रेंडरर क्रैश होने की समस्या ठीक की गई.
वर्शन 1.0.0-alpha05
8 मार्च, 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha05 रिलीज़ हो गया है. वर्शन 1.0.0-alpha05 में ये बदलाव शामिल हैं.
नई सुविधाएं
- हमने
Modifiersऑब्जेक्ट में, "कॉन्टेंट अपडेट" ऐनिमेशन जोड़ा है. यह एक एक्सपेरिमेंटल सुविधा है. लेआउट अपडेट के दौरान, इस मॉडिफ़ायर वाले एलिमेंट या उसके किसी चाइल्ड में बदलाव होने पर, यह ऐनिमेशन ट्रिगर होगा. (bd03e5d)
एपीआई में हुए बदलाव
- हमने
RepeatableमेंforwardRepeatDelayMillisऔरreverseRepeatDelayMillisको जोड़ दिया है. हमनेAnimationSpecमें मौजूदdelayMillisका नाम बदलकरstartDelayMillisकर दिया है (Ifb266) DynamicTypeEvaluator.bindतरीके अब Executor को स्वीकार करते हैं. (I346ab)- हमने
BoundDynamicTypeमेंstartEvaluationतरीका जोड़ा है, ताकि डाइनैमिक टाइप बाइंड होने के बाद, आकलन को ट्रिगर किया जा सके. (I19908)
गड़बड़ियां ठीक की गईं
- Animator ऑब्जेक्ट का फिर से इस्तेमाल, एक ही एलिमेंट के बाद के ऐनिमेशन के लिए किया जाएगा. (Ia3be9)
वर्शन 1.0.0-alpha04
22 फ़रवरी, 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha04 रिलीज़ हो गया है. वर्शन 1.0.0-alpha04 में ये बदलाव शामिल हैं.
नई सुविधाएं
ObservableStateStoreअब श्रोताओं को यह भी बताता है कि कोई डिजिटल बटन हटा दिया गया है.- हमने
DeviceParametersमें रेंडरर स्कीमा वर्शन और फ़ॉन्ट स्केल जोड़ा है. इसका इस्तेमाल, अलग-अलग वर्शन और फ़ॉन्ट सेटिंग के हिसाब से लेआउट बनाने के लिए किया जा सकता है. - हमने
DynamicInt32वैल्यू (I05485) को ऐनिमेट करने की सुविधा जोड़ी है - हमने
OnLoadऔरOnConditionalMetट्रिगर जोड़े हैं. इनका इस्तेमाल, ट्रिगर के साथ काम करने वाले ऐनिमेशन शुरू करने के लिए किया जा सकता है. - हमने बड़े किए गए डाइमेंशन के लिए लेआउट वेट और रैप किए गए डाइमेंशन के लिए कम से कम साइज़ जोड़ा है.
- हमने अवधि और इंस्टैंट डाइनैमिक टाइप जोड़े हैं. इनका इस्तेमाल, डाइनैमिक एक्सप्रेशन में किसी समय या अवधि को दिखाने के लिए किया जा सकता है.
- हमने लेआउट रिसॉर्स के तौर पर,
AnimatedVectorDrawableऔरSeekableAnimatedVectorDrawableके लिए सहायता जोड़ी है.
एपीआई में हुए बदलाव
- सेंसर डेटा के लिए, API 29 या इसके बाद का वर्शन ज़रूरी है. (I8099e)
- हमने दो
launchActionहेल्पर मेथड जोड़े हैं, ताकि Activities लॉन्च की जा सकें.
गड़बड़ियां ठीक की गईं
- टाइल्स ऐनिमेशन (I3d74b) में
set/getSpecका नाम बदलकरset/getAnimationSpecकिया गया
वर्शन 1.0.0-alpha03
8 फ़रवरी, 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha03 रिलीज़ हो गया है. वर्शन 1.0.0-alpha03 में ये बदलाव शामिल हैं.
नई सुविधाएं
- हमने protolayout-express लाइब्रेरी में, डाइनैमिक टाइप में
toByteArray()औरfromByteArray()को जोड़ा है. - हमने protolayout-expression लाइब्रेरी में, डाइनैमिक टाइप में
toString()जोड़ा है. - हमने डाइनैमिक टाइप के लिए, आकलन की सुविधा जोड़ी है. protolayout-expression-pipeline लाइब्रेरी की
DynamicTypeEvaluatorक्लास का इस्तेमाल, पहले से बनाए गए डाइनैमिक टाइप (DynamicString,DynamicFloat, …) का आकलन करने और अपडेट की गई वैल्यू पाने के लिए किया जा सकता है - जब ऐनिमेशन नहीं चलाए जा सकते (ऐसा इसलिए होता है, क्योंकि या तो जांच करने वाले व्यक्ति ने उन्हें बंद कर दिया है या चल रहे ऐनिमेशन की संख्या, सेट की गई सीमा तक पहुंच गई है), तो ऐनिमेशन की जगह, ऐनिमेशन वाले नोड पर सेट की गई स्टैटिक वैल्यू का इस्तेमाल किया जाएगा.
वर्शन 1.0.0-alpha02
25 जनवरी, 2023
androidx.wear.protolayout:protolayout:1.0.0-alpha02, androidx.wear.protolayout:protolayout-expression:1.0.0-alpha02, और androidx.wear.protolayout:protolayout-proto:1.0.0-alpha02 रिलीज़ किए जाते हैं. वर्शन 1.0.0-alpha02 में ये बदलाव शामिल हैं.
नई सुविधाएं
androidx.wear.tiles:tilesके लेआउट बिल्डर,androidx.wear.protolayout:protolayoutपर माइग्रेट हो रहे हैं.androidx.wear.tiles:tilesमें मौजूद एपीआई, अगले कुछ ऐल्फ़ा वर्शन में काम नहीं करेंगे.
वर्शन 1.0.0-alpha01
11 जनवरी, 2023
androidx.wear.protolayout:protolayout-expression:1.0.0-alpha01 और androidx.wear.protolayout:protolayout-proto:1.0.0-alpha01 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- इस रिलीज़ में, डाइनैमिक वैरिएबल से एक्सप्रेशन बनाने के लिए, नई लाइब्रेरी "ProtoLayout Expression" पेश की गई है.