wear protolayout
नया अपडेट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
---|---|---|---|---|
24 सितंबर, 2025 | 1.3.0 | - | - | 1.4.0-alpha01 |
डिपेंडेंसी का एलान करना
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-alpha01
24 सितंबर, 2025
androidx.wear.protolayout:protolayout-*:1.4.0-alpha01
रिलीज़ हो गया है. वर्शन 1.4.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
LayoutModifier
के लिए हेल्पर मेथड जोड़ा गया है. इससे टाइल दिखने पर, एलिमेंट धीरे-धीरे दिखता है. (I38531, b/390345969)- M3
MaterialScope
कॉन्सेप्ट को सपोर्ट करने के लिएmaterialScopeWithResources
जोड़ा गया है. यह अपने-आप संसाधन रजिस्टर करने की सुविधा भी देता है. इसमें, इमेज (backgroundImage
avatarImage
और आइकॉन) के लिए नई हेल्पर विधियां जोड़ी गई हैं. इनका इस्तेमाल करने पर,onTileResourceRequest
में संसाधनों को मैन्युअल तरीके से रजिस्टर करने की ज़रूरत नहीं पड़ती. (I525bd, b/428692714) ProtoLayout
Image
और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)- टाइलों में बेहतर तरीके से संसाधनों को मैनेज करने के लिए,
ProtoLayoutScope
कॉन्सेप्ट जोड़ा गया. (I132ce, b/428692423) ProtoLayout
Material3MaterialScope
अबContext
फ़ील्ड को सार्वजनिक तौर पर उपलब्ध कराता है, ताकि इसका इस्तेमाल स्कोप में मौजूद तरीकों में किया जा सके. इसके लिए, इसे पास करने की ज़रूरत नहीं होती. (I0e5cc, b/414559956)- हेडिंग के सिमैंटिक एपीआई को सार्वजनिक करें (I75299, b/413653475)
Arc/ArcLine/ArcText/DashedArcLine
में इस्तेमाल करने के लिए,ARC_DIRECTION_*
कॉन्स्टेंट को सार्वजनिक के तौर पर दिखाएं. (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
,textEdgeButton
iconButton
,textButton
,button
,imageButton
,avatarButton
,compactButton
titleCard
,appCard
,graphicDataCard
,iconDataCard
,textDataCard
circularProgressIndicator
,segmentedCircularProgressIndicator
primaryLayout
,buttonGroup
- सभी कॉम्पोनेंट, SDK टूल के किसी भी लेवल और
ProtoLayout
रेंडरर वर्शन पर काम करते हैं. साथ ही, जहां ज़रूरी हो वहां फ़ॉलबैक उपलब्ध कराते हैं
- इसमें सिर्फ़ Kotlin,
- ProtoLayout के बुनियादी एलिमेंट के लिए, Kotlin के साथ काम करने वाले और Compose जैसे एपीआई
LayoutModifier
में, चेन किए गए फ़ंक्शन (padding
,contentDescription
(इसमेंclearSemantics
भी शामिल है),background
,clip
,opacity
वगैरह) के तौर पर ज़्यादा से ज़्यादा मॉडिफ़ायर जोड़ने की सुविधा है. इसे मौजूदाModifiers
ऑब्जेक्ट में बदला जा सकता हैLayoutColors
औरLayoutString
को टाइप के तौर पर इस्तेमाल किया जा सकता है. इससे डाइनैमिक फ़ील्ड और शर्तों को आसानी से इस्तेमाल किया जा सकता हैtext
औरfontStyle
StateBuilder
के लिए बेहतर मैप सपोर्ट, जिसमेंStateBuilder
और फ़ैक्ट्री के तरीके शामिल हैं. जैसे,AppDataKey
ऑब्जेक्ट को आसानी से बनाने के लिएintAppDataKey
DynamicDataMap
- Lottie ऐनिमेशन में, यह विकल्प शामिल होता है कि ऐनिमेशन कब शुरू होना चाहिए. जैसे, लेआउट लोड होने पर या लेआउट दिखने पर. इसके लिए, अलग-अलग ट्रिगर सेट किए जा सकते हैं
- ग्रेडिएंट के लिए बेहतर सहायता:
Brush
का हिस्सा लीनियर ग्रेडिएंट एपीआई, जिसका इस्तेमालBackground
मॉडिफ़ायर में किया जा सकता है. जैसे,Box
,Spacer
वगैरह. …- लीनियर और स्वीप ग्रेडिएंट के लिए इस्तेमाल किए गए
ColorStop
में डाइनैमिक कलर वैल्यू की अनुमति दें - आर्क ऑब्जेक्ट में मौजूद स्वीप ग्रेडिएंट में अब डाइनैमिक रंगों के साथ-साथ, शुरू और खत्म होने वाले कोणों का इस्तेमाल किया जा सकता है
protolayout-expression
में प्लैटफ़ॉर्म डेटा बाइंडिंग की सुविधा उपलब्ध है. इससे लेआउट की दृश्यता में बदलाव होने पर, आपको सूचना मिलती है. उदाहरण के लिए, इस सुविधा का इस्तेमाल करके, टाइल को स्वाइप करते समय लेआउट के कुछ हिस्सों को छिपाया जा सकता है- टेस्टिंग लाइब्रेरी -
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
,textEdgeButton
iconButton
,textButton
,button
,imageButton
,avatarButton
,compactButton
titleCard
,appCard
,graphicDataCard
,iconDataCard
,textDataCard
circularProgressIndicator
,segmentedCircularProgressIndicator
primaryLayout
,buttonGroup
- सभी कॉम्पोनेंट, एसडीके के किसी भी लेवल और ProtoLayout Renderer के वर्शन पर काम करते हैं. साथ ही, जहां ज़रूरी हो वहां फ़ॉलबैक उपलब्ध कराते हैं
- इसमें सिर्फ़ Kotlin,
- ProtoLayout के बुनियादी एलिमेंट के लिए, Kotlin के साथ काम करने वाले और Compose जैसे एपीआई
LayoutModifier
में, चेन किए गए फ़ंक्शन (padding
,contentDescription
(इसमेंclearSemantics
भी शामिल है),background
,clip
,opacity
वगैरह) के तौर पर ज़्यादा से ज़्यादा मॉडिफ़ायर जोड़ने की सुविधा है. इसे मौजूदाModifiers
ऑब्जेक्ट में बदला जा सकता हैLayoutColors
औरLayoutString
को टाइप के तौर पर इस्तेमाल किया जा सकता है. इससे डाइनैमिक फ़ील्ड और शर्तों को आसानी से इस्तेमाल किया जा सकता हैtext
औरfontStyle
StateBuilder
के लिए बेहतर मैप सपोर्ट, जिसमेंStateBuilder
और फ़ैक्ट्री के तरीके शामिल हैं. जैसे,AppDataKey
ऑब्जेक्ट को आसानी से बनाने के लिएintAppDataKey
DynamicDataMap
- Lottie ऐनिमेशन में, यह विकल्प शामिल होता है कि ऐनिमेशन कब शुरू होना चाहिए. जैसे, लेआउट लोड होने पर या लेआउट दिखने पर. इसके लिए, अलग-अलग ट्रिगर सेट किए जा सकते हैं
- ग्रेडिएंट के लिए बेहतर सहायता:
Brush
का हिस्सा लीनियर ग्रेडिएंट एपीआई, जिसका इस्तेमालBackground
मॉडिफ़ायर में किया जा सकता है. जैसे,Box
,Spacer
वगैरह. …- लीनियर और स्वीप ग्रेडिएंट के लिए इस्तेमाल किए गए
ColorStop
में डाइनैमिक कलर वैल्यू की अनुमति दें - आर्क ऑब्जेक्ट में मौजूद स्वीप ग्रेडिएंट में अब डाइनैमिक रंगों के साथ-साथ, शुरू और खत्म होने वाले कोणों का इस्तेमाल किया जा सकता है
protolayout-expression
में प्लैटफ़ॉर्म डेटा बाइंडिंग की सुविधा उपलब्ध है. इससे लेआउट की दृश्यता में बदलाव होने पर, आपको सूचना मिलती है. उदाहरण के लिए, इस सुविधा का इस्तेमाल करके, टाइल को स्वाइप करते समय लेआउट के कुछ हिस्सों को छिपाया जा सकता है- टेस्टिंग लाइब्रेरी -
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 में बैकग्राउंड मॉडिफ़ायर के लिए, ब्रश में हेल्पर जोड़ा गया. (I995de)
- Android Context फ़ील्ड को
MaterialScope
में सार्वजनिक कर दिया गया है. इससे डेवलपर के फ़ंक्शन में इसका इस्तेमाल करना आसान हो जाएगा. ये फ़ंक्शन, Material3 टाइल के लिए कॉम्पोनेंट बनाते हैं. (I7df73)
एपीआई में हुए बदलाव
- एपीआई
platformVisibilityStatus
का नाम बदलकरPlatformEventSources.isLayoutVisible
कर दिया गया है. साथ ही, एक्सपेरिमेंट के तौर पर उपलब्ध नया एपीआईPlatformEventSources.isLayoutUpdatePending
जोड़ा गया है. (Ie1e04)
गड़बड़ियां ठीक की गईं
primaryLayout
के मार्जिन को अब सही तरीके से राउंड अप किया गया है. इससे कुछ लेआउट पर असर पड़ सकता है. मुख्य स्लॉट के लिए 2dp जगह कम हो सकती है. (I8f5d3)ProtoLayout
Material3 कॉम्पोनेंट में, डाइनैमिक कलर थीम के डिफ़ॉल्ट होने के बारे में ज़्यादा जानकारी. (Iff5f3)Typography.NUMERAL_*
टाइपोग्राफ़ी अब डिफ़ॉल्ट रूप से, टेबल/मोनोस्पेस नहीं होती हैं. अगर टेक्स्ट में ऐनिमेशन हो रहा है, तो हमारा सुझाव है कि आप उसमेंFontSetting.tabularNum()
सेटिंग जोड़ें. अन्य सभी मामलों में, इस मोनोस्पेस विकल्प की ज़रूरत नहीं होती. इसका इस्तेमाल न करने पर, ज़्यादा वर्ण उपलब्ध होंगे. (Id3cd9)ProtoLayout
Material3 कॉम्पोनेंट में, डाइनैमिक कलर थीम के डिफ़ॉल्ट होने के बारे में ज़्यादा जानकारी. (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
में अबhasValueOfType(Class<?>)
तरीका भी उपलब्ध है. इसके अलावा, इसमेंhasInt/hasColor/
.... तरीके भी उपलब्ध हैं (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
) को अपडेट किया गया है, ताकिweight
expand डाइमेंशन के काम न करने पर फ़ॉलबैक उपलब्ध कराया जा सके. जैसे, एपीआई 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 Material3
textButton कॉम्पोनेंट जोड़ा गया. (Id680d)iconButton
ProtoLayout Material3 कॉम्पोनेंट जोड़ें. (Ica3f0)- ProtoLayout में Material3 बटन कंटेनर कॉम्पोनेंट जोड़ा गया. (I17a38)
- protolayout-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
को अपडेट किया गया है, ताकि वैरिएबल ऐक्सिस के लिए ज़्यादा फ़ॉन्ट इस्तेमाल किए जा सकें. साथ ही, फ़ॉन्ट चुनने के लिए बेहतर एपीआई उपलब्ध हो, ताकि आने वाले समय में फ़्लेक्स फ़ॉन्ट इस्तेमाल किए जा सकें.- अतिरिक्त मॉडिफ़ायर के लिए सहायता:
- ट्रांसफ़ॉर्मेशन मॉडिफ़ायर, जो ऐनिमेशन के साथ या उनके बिना ट्रांसलेशन, रोटेशन, और स्केलिंग की सुविधा देता है.
- हर कोने की रेडियस के लिए अलग-अलग वैल्यू (हॉरिज़ॉन्टल और वर्टिकल) तय करना.
- क्लिक किए जा सकने वाले मॉडिफ़ायर का इस्तेमाल करने वाले किसी भी एलिमेंट के टैप किए जा सकने वाले एरिया को कम से कम
48dp
x48dp
तक बढ़ाकर, सभी टच टारगेट की ऐक्सेस-योग्यता को बेहतर बनाया गया है. - अलग-अलग स्क्रीन साइज़ पर इन लेआउट के रिस्पॉन्सिव व्यवहार को बेहतर बनाने और टाइल की एक जैसी स्टाइल को बेहतर बनाने के लिए,
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 में ये बदलाव शामिल हैं.
नई सुविधाएं
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
API को इन चीज़ों के लिए भी उपलब्ध कराया गया है: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) ArcDirectionProp
Builder अब कंस्ट्रक्टर में वैल्यू की उम्मीद करता है. (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
में जोड़ने से, आरटीएल लेआउट पर उनके व्यवहार को ठीक किया जा सकेगा. (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
में अब ग्रेडिएंट का इस्तेमाल किया जा सकता है. इसके लिए,Brush
के साथSweepGradient
जोड़ें. साथ ही, 360 डिग्री से ज़्यादा की लंबाई को बेहतर तरीके से दिखाने के लिए, कैप पर शैडो जोड़ें. इसके लिए, मौजूदाStrokeCap
मेंShadow
जोड़ें.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 में ये बदलाव शामिल हैं.
नई सुविधाएं
- एपीआई में
ArcLine
StrokeCap
Shadow
फ़ील्ड जोड़ा गया. (I830ec) - एपीआई को इस तरह से बढ़ाया गया है कि स्पेसर की चौड़ाई या ऊंचाई को बड़ा किया जा सके. (I757ca)
- हमने एक एक्सपेरिमेंटल एपीआई जोड़ा है. यह एपीआई, पैरंट के अंदर मौजूद जगह के हिसाब से टेक्स्ट के साइज़ को अपने-आप स्केल करता है. (Ibbe63)
- क्लिक किए जा सकने वाले कम से कम साइज़ के साथ काम करता हो (I178e3)
StrokeCap
Shadow
के लिए, रेंडरर की सुविधा जोड़ी गई. (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 प्लैटफ़ॉर्म पर किया जा सकता है. उदाहरण के लिए, टाइल लाइब्रेरी इन एपीआई का इस्तेमाल, प्लैटफ़ॉर्म डेटा बाइंडिंग (टाइल के डेटा को तेज़ी से अपडेट करने के लिए) और ऐनिमेशन के लिए करती है.
वर्शन 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
फ़ंक्शन के बजायRunnable
फ़ंक्शन औरExecutor
मिलता है, ताकि वह सूचना दे सके. (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
इंटरफ़ेस को छिपाएं.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)- हमने
ProtoLayout
Material Text में, फ़ॉन्ट पैडिंग को छोड़कर बाकी सभी पैडिंग सेट करने की सुविधा जोड़ी है. (I17f5d) - अब इनलाइन इमेज के लिए ARGB_8888 काम करता है. (I18c1e)
DynamicColor
अबonCondition
ऑपरेशन के साथ काम करता है. (I10927)
एपीआई में हुए बदलाव
- रिवर्स ऐनिमेशन के लिए कस्टम अवधि की सुविधा जोड़ी गई (I3251f)
- हमने
SemanticDescription
मॉडिफ़ायर जोड़ा है. इसके अलावा,ContentDescription
को बाइंड नहीं किया जा सकता. (I3f1d) DynamicBool.isFalse()
तरीके को अबDynamicBool.negate()
से बदल दिया गया है औरDynamicBool.isTrue()
को हटा दिया गया है. इसके अलावा, NaNDynamicFloat
वैल्यू औरDynamicInt32
कोDynamicFloat
तक सीमित करने पर, अब अमान्य डाइनैमिक नतीजा मिलता है. (I6ac1e)- इंट और फ़्लोट फ़ॉर्मेटर अब बिल्डर पैटर्न का इस्तेमाल करते हैं. (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
के लिए सहायता जोड़ी है.
एपीआई में हुए बदलाव
- सेंसर डेटा के लिए, एपीआई 29 या इसके बाद का वर्शन ज़रूरी है. (I8099e)
- हमने दो
launchAction
हेल्पर मेथड जोड़े हैं, ताकि गतिविधियों को लॉन्च किया जा सके.
गड़बड़ियां ठीक की गईं
- टाइल्स ऐनिमेशन (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" पेश की गई है.