wear protolayout
| नया अपडेट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
|---|---|---|---|---|
| 01 जुलाई, 2026 | 1.4.1 | - | - | - |
डिपेंडेंसी का एलान करना
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.4.1" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.4.1" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.4.1" }
Kotlin
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.4.1") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.4.1") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.4.1") }
डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.
सुझाव/राय दें या शिकायत करें
आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या आपके पास इस लाइब्रेरी को बेहतर बनाने के लिए सुझाव हैं, तो हमें बताएं. कृपया नई समस्या सबमिट करने से पहले, इस लाइब्रेरी में शामिल मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.
ज़्यादा जानकारी के लिए, Issue Tracker का दस्तावेज़ देखें.
वर्शन 1.4
वर्शन 1.4.1
01 जुलाई, 2026
androidx.wear.protolayout:protolayout-*:1.4.1 रिलीज़ हो गया है. वर्शन 1.4.1 में ये बदलाव शामिल हैं.
कमज़ोरियों और सुरक्षा से जुड़ी समस्याओं को ठीक करना
- मेमोरी का इस्तेमाल कम करने के लिए, इमेज के डाइमेंशन की सीमा
2048pxऔर रॉ साइज़ की सीमा20MBतय की गई है. - लेआउट डेप्थ की जांच को लागू किया गया. ऐसा एक बग को ठीक करके किया गया है. इस बग की वजह से, डीप लेआउट फ़िंगरप्रिंट ऑप्टिमाइज़ेशन के दौरान डेप्थ लागू करने की सुविधा को स्किप कर पाते थे.
DashedArcLineमें अनबाउंडेड गैप पैरामीटर की वजह से, ऐरे बाउंड से बाहर की स्थिति में होने वाली गड़बड़ी/क्रैश को रोका गया.IllegalArgumentExceptionsको एक्सप्रेशन पाइपलाइन में ज़्यादा सुरक्षित तरीके से गड़बड़ी लॉग करने और नोड अमान्य करने की सुविधा से बदल दिया गया है.- गलत फ़ॉर्मैट वाले इमेज यूआरआई प्रोसेस करते समय, न पकड़ी गई
NullPointerExceptionको ठीक किया गया है.
वर्शन 1.4.0
25 मार्च, 2026
androidx.wear.protolayout:protolayout-*:1.4.0 रिलीज़ हो गया है. वर्शन 1.4.0 में ये बदलाव शामिल हैं.
1.3.0 के बाद हुए मुख्य बदलाव:
- 1.3.0 के बाद से हुए बदलावों के बारे में पूरी जानकारी के लिए, 1.4.0-beta01 के रिलीज़ नोट देखें.
नई सुविधाएं
- Wear ProtoLayout के 1.4.0-beta01 वर्शन से पता चलता है कि लाइब्रेरी का यह वर्शन, सभी सुविधाओं के साथ उपलब्ध है. साथ ही, एपीआई लॉक है. हालांकि, जिन एपीआई को एक्सपेरिमेंटल के तौर पर मार्क किया गया है वे लॉक नहीं हैं. Wear ProtoLayout 1.4 में ये नई सुविधाएं और एपीआई शामिल हैं:
- इनलाइन की गई इमेज ऐसेट और परफ़ॉर्मेंस में सुधार: ऐसेट को हैंडल करने का बेहतर तरीका पेश किया गया है. इसमें
ImageResourceको सीधे तौर पर लेआउट में इनलाइन किया जा सकता है. - Material3TileService: टाइलें बनाने के लिए, Kotlin के साथ काम करने वाली नई सेवा शुरू की गई है. यह डेवलपमेंट को आसान बनाता है. इसके लिए, यह एक ही सस्पेंड फ़ंक्शन उपलब्ध कराता है, ताकि टाइल लेआउट और संसाधन, दोनों को वापस लाया जा सके. यह तेज़ी से टाइल लोड करने के लिए, बेहतर संसाधन हैंडलिंग और परफ़ॉर्मेंस को बेहतर बनाने के लिए,
MaterialScopeऔरProtoLayoutScopeको अपने-आप मैनेज करता है. - टाइल की झलक दिखाने की सुविधा से जुड़ा अपडेट: टाइल की झलक दिखाने की सुविधा के टूल को अपडेट किया गया है, ताकि यह
ProtoLayoutScopeसंसाधनों को अपने-आप मैनेज करने की नई सुविधा के साथ काम कर सके. इससे यह पक्का किया जा सकेगा कि झलक में इनलाइन किए गए संसाधन सही तरीके से दिखें और इसके लिए अतिरिक्त कॉन्फ़िगरेशन की ज़रूरत न पड़े. - Kotlin DSL में कई सुधार किए गए हैं: Kotlin का इस्तेमाल करने वाले डेवलपर के अनुभव को बेहतर बनाने के लिए,
Tileऔर टाइल बनाने के लिए ज़रूरी अन्य सभी एपीआई (जैसे,Timeline) के लिए, खास Kotlin हेल्पर जोड़े गए हैं. - डाइनैमिक सर्विस स्विचिंग:
METADATA_GROUP_KEYको पेश किया गया है. इससे डेवलपर, मेनिफ़ेस्ट में कईTileServiceइंस्टेंस को ग्रुप कर सकते हैं. इससे, ओएस के नए वर्शन पर एक ही टाइल को दिखाने वाली अलग-अलग सेवाओं के बीच डाइनैमिक तरीके से स्विच किया जा सकता है. - अपडेट में टाइल आईडी: डेवलपर अब अपडेट के अनुरोधों में कोई खास tileId तय कर सकते हैं. इससे उन्हें यह तय करने में ज़्यादा आसानी होगी कि कौनसे टाइल इंस्टेंस को रीफ़्रेश किया जाए.
- कंपाइल एसडीके का वर्शन बढ़ा दिया गया है: नए
Material3TileServiceऔर बेहतर तरीके से संसाधन मैनेज करने की सुविधा के लिए,compileSdkके वर्शन की ज़रूरी शर्त को बढ़ाकर 35 कर दिया गया है. - एएनआर को रोकना: टाइल अपडेट करने के अनुरोधों के दौरान, अनबाइंडिंग लॉजिक को बैकग्राउंड थ्रेड में ले जाया गया है, ताकि "ऐप्लिकेशन काम नहीं कर रहा" (एएनआर) गड़बड़ियों को रोका जा सके.
- दिल की धड़कन के डेटा के लिए, RequiresPermission एनोटेशन का सही इस्तेमाल: एपीआई 36 से शुरू होने वाले वर्शन में,
PlatformHealthSources.heartRateBpmयाPlatformHealthSources.heartRateAccuracyको कॉल करने के लिए, कॉलिंग ऐप्लिकेशन कोandroid.health.connect.HealthPermissions.READ_HEART_RATEअनुमति देनी होगी.
- इनलाइन की गई इमेज ऐसेट और परफ़ॉर्मेंस में सुधार: ऐसेट को हैंडल करने का बेहतर तरीका पेश किया गया है. इसमें
वर्शन 1.4.0-rc02
11 मार्च, 2026
androidx.wear.protolayout:protolayout-*:1.4.0-rc02 रिलीज़ हो गया है. वर्शन 1.4.0-rc02 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- एपीआई 36 से, हार्ट रेट के डेटा को ऐक्सेस करने के लिए, कॉलिंग ऐप्लिकेशन को
android.health.connect.HealthPermissions.READ_HEART_RATEअनुमति देनी होगी. जैसे,PlatformHealthSources.heartRateBpmऔरPlatformHealthSources.heartRateAccuracyके साथProtoLayoutExpressions लाइब्रेरी के ज़रिए हार्ट रेट के डेटा को ऐक्सेस करना.
वर्शन 1.4.0-rc01
25 फ़रवरी, 2026
androidx.wear.protolayout:protolayout-*:1.4.0-rc01 को पिछली रिलीज़ के मुकाबले बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.4.0-rc01 में ये बदलाव शामिल हैं.
वर्शन 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एपीआई अब इस कॉन्सेप्ट के साथ काम करते हैं. इसके लिए, वे नए तरीके उपलब्ध कराते हैं. इन तरीकों में,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 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- अब बेहतर तरीके से रिसॉर्स हैंडल करने और परफ़ॉर्मेंस को बेहतर बनाने के लिए, दो तरह के रिसॉर्स की तुलना की जाती है. इसके लिए, ऑप्टिमाइज़ किए गए हैश और बराबर के तरीकों का इस्तेमाल किया जाता है. (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) ProtoLayoutऔरImageResourcesके साथ इस्तेमाल करने के लिए,ProtoLayoutKotlin हेल्पर. साथ ही,ProtoLayoutScopeऔर संसाधन के अपने-आप रजिस्टर होने की सुविधा.Image(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)- टाइल में बेहतर तरीके से संसाधनों को मैनेज करने के लिए,
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- सभी कॉम्पोनेंट, SDK टूल के किसी भी लेवल और
ProtoLayoutरेंडरर वर्शन पर काम करते हैं. साथ ही, जहां ज़रूरी हो वहां फ़ॉलबैक उपलब्ध कराते हैं
- इसमें सिर्फ़ Kotlin,
- ProtoLayout के बुनियादी एलिमेंट के लिए, Compose जैसे एपीआई जो Kotlin के साथ बेहतर तरीके से काम करते हैं
LayoutModifierमें, चेन किए गए फ़ंक्शन (padding,contentDescription(इसमेंclearSemanticsभी शामिल है),background,clip,opacityवगैरह) के तौर पर ज़्यादा से ज़्यादा मॉडिफ़ायर जोड़ने की सुविधा होती है. इसे मौजूदाModifiersऑब्जेक्ट में बदला जा सकता हैLayoutColorsऔरLayoutStringको टाइप के तौर पर इस्तेमाल किया जा सकता है. इससे डाइनैमिक फ़ील्ड और शर्तों को आसानी से इस्तेमाल किया जा सकता हैtextऔरfontStyleStateBuilderके लिए बेहतर मैप सपोर्ट, जिसमेंDynamicDataMapऔर फ़ैक्ट्री के तरीके शामिल हैं. जैसे,AppDataKeyऑब्जेक्ट को आसानी से बनाने के लिएintAppDataKey
- 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 और इसके बाद के वर्शन पर लागू होता है. ऐसा इसलिए है, क्योंकि एपीआई 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 के बुनियादी एलिमेंट के लिए, Compose जैसे एपीआई जो Kotlin के साथ बेहतर तरीके से काम करते हैं
LayoutModifierमें, चेन किए गए फ़ंक्शन (padding,contentDescription(इसमेंclearSemanticsभी शामिल है),background,clip,opacityवगैरह) के तौर पर ज़्यादा से ज़्यादा मॉडिफ़ायर जोड़ने की सुविधा होती है. इसे मौजूदाModifiersऑब्जेक्ट में बदला जा सकता हैLayoutColorsऔरLayoutStringको टाइप के तौर पर इस्तेमाल किया जा सकता है. इससे डाइनैमिक फ़ील्ड और शर्तों को आसानी से इस्तेमाल किया जा सकता हैtextऔरfontStyleStateBuilderके लिए बेहतर मैप सपोर्ट, जिसमेंDynamicDataMapऔर फ़ैक्ट्री के तरीके शामिल हैं. जैसे,AppDataKeyऑब्जेक्ट को आसानी से बनाने के लिएintAppDataKey
- 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) - प्रोटोलayout टेस्टिंग लाइब्रेरी (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क्लास जोड़ी गई है. यह अब ऐप्लिकेशन की स्थितियों (I012ba) के लिए, टाइप से सुरक्षित Kotlin API के साथ काम करती हैStateBuilderAppDataKeyऑब्जेक्ट (Icea2a) को आसानी से बनाने के लिए, फ़ैक्ट्री के तरीके जोड़े गए. जैसे,intAppDataKeyDynamicDataValueमें अबhasInt/hasColor/.... तरीकों के अलावा,hasValueOfType(Class<?>)तरीका भी उपलब्ध है (I4f7a6)- हमने ज़्यादा ज़रूरी गड़बड़ियों या आपातकालीन कार्रवाइयों के लिए, Material3 ProtoLayout
ColorSchemeमेंerrorDimजोड़ा है. जैसे, सुरक्षा से जुड़ी सूचनाएं. (Ia17bb) - हमने ग्लोबल रिड्यूसमॉशन सेटिंग को ऐक्सेस करते समय क्रैश होने से बचाने के लिए एक गार्ड जोड़ा है. यह सेटिंग, उन प्लैटफ़ॉर्म पर ट्रिगर हुई थी जहां यह सेटिंग उपलब्ध नहीं थी. (I01e2c)
एपीआई में हुए बदलाव
addKeyToValueMappingका नाम बदलकरaddToStateMapकर दिया गया है. साथ ही,DynamicDataMap.putतरीकों को हटा दिया गया है, क्योंकि वे काम के नहीं थे. (Ibe9dd)- Material3 टाइपोग्राफ़ी अब उन सिस्टम फ़ॉन्ट के लिए राउंडनेस वैरिएबल ऐक्सिस के साथ काम करती है जो इस ऐक्सिस के साथ काम करते हैं. ProtoLayout
FontSetting, उन फ़ॉन्ट के लिए राउंडनेस ऐक्सिस का इस्तेमाल करता है जो इस ऐक्सिस के साथ काम करते हैं. (I33eb5) - Material3 टेक्स्ट मेथड में,
multilineAlignmentका नाम बदलकर अलाइनमेंट कर दिया गया है. (I2b66b) - सर्कुलर प्रोग्रेस इंडिकेटर को बॉक्स टाइप में अपडेट करें. साथ ही,
mainContentमेंmainContentको बॉक्स टाइप (I5a3dc) के तौर पर सेट करेंconstructGraphic - ग्राफ़ (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)
- प्रोटोलआउट-मटीरियल3 में, चेन किए जा सकने वाले सिमैंटिक मॉडिफ़ायर के लिए सहायता जोड़ी गई (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 में ये बदलाव शामिल हैं.
नई सुविधाएं
- टेस्टिंग लाइब्रेरी (Id1110) में
LayoutElementAssertionsProvider,LayoutElementAssertion, औरLayoutElementMatcherजोड़ें
वर्शन 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) के लिए,setArcDirectionकोClockwise,CounterClockwise, औरNormalविकल्पों के साथ जोड़ा गया है. इससे अलग-अलग लेआउट की दिशाओं (जैसे कि एलटीआर और आरटीएल) में बेहतर तरीके से काम किया जा सकेगा. 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 में ये बदलाव शामिल हैं.
नई सुविधाएं
hasTextमेंhasTextतरीका जोड़ें, ताकि यह पता चल सके कि टेक्स्ट कॉन्टेंट सेट किया गया है या नहीं.Material.CompactChip(I6e8fc)
एपीआई में हुए बदलाव
FontFamilyconst को Builder क्लास के बजायFontStyleमें ले जाया जाता है. (I06ced)- रेंज एनोटेशन शामिल करने के लिए,
FontSetting.weightऔरFontSetting.widthAPI अपडेट करें. साथ ही, वज़न के पैरामीटर को 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को दूसरे में मर्ज किया जा सकेगा. (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में जोड़ने से, RTL लेआउट पर उनके व्यवहार में सुधार होगा. (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 लाइब्रेरी इन एपीआई का इस्तेमाल, प्लैटफ़ॉर्म डेटा बाइंडिंग (टाइल के डेटा को तेज़ी से अपडेट करने के लिए) और ऐनिमेशन के लिए करती है.
वर्शन 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)
गड़बड़ियां ठीक की गईं
- हमने एक जांच जोड़ी है, ताकि अगर
DynamicColorकोSpanTextके लिए सेट किया गया है, तो गड़बड़ी का पता लगाया जा सके. (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फ़ंक्शन के बजायRunnableफ़ंक्शन औरExecutorकी सूचनाएँ मिलती हैं. (I9d938)- हमने
PlatformTimeUpdateNotifier#setReceiverमें पैरामीटर टाइप कोCallableसे बदलकरSupplierकर दिया है. (I664bf) CompactChipऔरTitleChipमें अब आइकॉन जोड़ने की सुविधा उपलब्ध है. (I5a01e)
गड़बड़ियां ठीक की गईं
- डाइनैमिक फ़ील्ड वाले Prop मैसेज को अपडेट करें, ताकि 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नेस्ट किए गए इंटरफ़ेस को छिपाएं.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)- Material Text में
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 लॉन्च की जा सकें.
गड़बड़ियां ठीक की गईं
- टाइल्स ऐनिमेशन में
set/getSpecका नाम बदलकरset/getAnimationSpecकरना (I3d74b)
वर्शन 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()जोड़ा है. - हमने डाइनैमिक टाइप के लिए, आकलन की सुविधा जोड़ी है. प्रोटोलayout-एक्सप्रेशन-पाइपलाइन लाइब्रेरी की
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" पेश की गई है.