Compose का ऐनिमेशन
androidx.compose.animation
androidx.compose.animation.core
androidx.compose.animation.graphics
(सभी कंपोज़ पैकेज के लिए, एपीआई के बारे में जानकारी देने वाले दस्तावेज़ देखें)
| नया अपडेट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
|---|---|---|---|---|
| 19 नवंबर, 2025 | 1.9.5 | 1.10.0-rc01 | - | - |
संरचना
Compose, androidx में मौजूद सात Maven ग्रुप आईडी का कॉम्बिनेशन है. हर ग्रुप में, फ़ंक्शन का एक टारगेट किया गया सबसेट होता है. हर ग्रुप के लिए, रिलीज़ नोट का अपना सेट होता है.
इस टेबल में, ग्रुप और रिलीज़ नोट के हर सेट के लिंक के बारे में बताया गया है.
| ग्रुप | ब्यौरा |
|---|---|
| compose.animation | उपयोगकर्ता अनुभव को बेहतर बनाने के लिए, Jetpack Compose ऐप्लिकेशन में ऐनिमेशन बनाएं. |
| compose.compiler | @Composable फ़ंक्शन को बदलें और Kotlin कंपाइलर प्लगिन की मदद से ऑप्टिमाइज़ेशन चालू करें. |
| compose.foundation | इस्तेमाल के लिए तैयार बिल्डिंग ब्लॉक की मदद से, Jetpack Compose ऐप्लिकेशन लिखें. साथ ही, अपने डिज़ाइन सिस्टम के कॉम्पोनेंट बनाने के लिए, फ़ाउंडेशन को बढ़ाएं. |
| compose.material | इस्तेमाल के लिए तैयार मटीरियल डिज़ाइन कॉम्पोनेंट की मदद से, Jetpack Compose यूज़र इंटरफ़ेस (यूआई) बनाएं. यह Compose का टॉप लेवल एंट्री पॉइंट है. इसे ऐसे कॉम्पोनेंट उपलब्ध कराने के लिए डिज़ाइन किया गया है जो www.material.io पर बताए गए कॉम्पोनेंट से मेल खाते हों. |
| compose.material3 | मटीरियल डिज़ाइन 3 कॉम्पोनेंट की मदद से, Jetpack Compose यूज़र इंटरफ़ेस (यूआई) बनाएं. ये कॉम्पोनेंट, मटीरियल डिज़ाइन का अगला वर्शन हैं. Material 3 में, थीमिंग और कॉम्पोनेंट को अपडेट किया गया है. साथ ही, इसमें Material You की मनमुताबिक सेटिंग से जुड़ी सुविधाएं भी शामिल हैं. जैसे, डाइनैमिक कलर. इसे Android 12 की नई विज़ुअल स्टाइल और सिस्टम यूज़र इंटरफ़ेस (यूआई) के साथ काम करने के लिए डिज़ाइन किया गया है. |
| compose.runtime | यह Compose के प्रोग्रामिंग मॉडल और स्टेट मैनेजमेंट के बुनियादी बिल्डिंग ब्लॉक हैं. साथ ही, Compose Compiler Plugin के लिए कोर रनटाइम है, ताकि वह इसे टारगेट कर सके. |
| compose.ui | डिवाइस के साथ इंटरैक्ट करने के लिए, कंपोज़ यूज़र इंटरफ़ेस (यूआई) के बुनियादी कॉम्पोनेंट. इनमें लेआउट, ड्रॉइंग, और इनपुट शामिल हैं. |
डिपेंडेंसी का एलान करना
Compose पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.
अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:
Groovy
dependencies { implementation "androidx.compose.animation:animation:1.9.5" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.animation:animation:1.9.5") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.
सुझाव/राय दें या शिकायत करें
आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या आपके पास इस लाइब्रेरी को बेहतर बनाने के लिए सुझाव हैं, तो हमें बताएं. कृपया नई समस्या सबमिट करने से पहले, इस लाइब्रेरी में शामिल मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.
ज़्यादा जानकारी के लिए, Issue Tracker का दस्तावेज़ देखें.
वर्शन 1.10
वर्शन 1.10.0-rc01
19 नवंबर, 2025
androidx.compose.animation:animation-*:1.10.0-rc01 रिलीज़ हो गया है. वर्शन 1.10.0-rc01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
unveilInऔरveilOutके विकल्प अबEnterExitTransitionsके लिए उपलब्ध हैं. इससे, कॉन्टेंट के दिखने या बंद होने के दौरान, उसके सामने मौजूद ओवरले लेयर में ऐनिमेशन जोड़ने की अनुमति मिलती है. (If26fe)
गड़बड़ियां ठीक की गईं
sharedElementको अलग करने और फिर से जोड़ने की सुविधा के ज़रिए, बाउंड्री ट्रैकिंग की सुविधा काम करती है (be0e9e)- शेयर किए गए एलिमेंट के मैप को ट्रांज़िशन की स्थिति के बारे में जानकारी देने के लिए, ऑब्ज़र्वेबल बनाएं. (1fc2ec)
वर्शन 1.10.0-beta02
05 नवंबर, 2025
androidx.compose.animation:animation-*:1.10.0-beta02 रिलीज़ हो गया है. वर्शन 1.10.0-beta02 में ये बदलाव शामिल हैं.
वर्शन 1.10.0-beta01
22 अक्टूबर, 2025
androidx.compose.animation:animation-*:1.10.0-beta01 रिलीज़ हो गया है. वर्शन 1.10.0-beta01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
SharedContentConfigफ़ैक्ट्री मेथड को हटा दिया गया है. यह मेथड, लैंबडा लेता था. इससे यह पता चलता था कि शेयर किए गए एलिमेंट को चालू किया जाना चाहिए या नहीं.lookheadScopeCoordinatesएपीआई को अपडेट कर दिया गया है. इसमेंLookaheadScopeको रिसीवर स्कोप के तौर पर इस्तेमाल किया जा रहा है. साथ ही, सोर्स कोऑर्डिनेट को पैरामीटर के तौर पर इस्तेमाल किया जा रहा है. (Id1fc2, b/452416806)BoundsTransformके इंटरफ़ेस को अपडेट किया गया है, ताकि यहSizeTransformके साथ काम कर सके. (Ia46f2, b/343696350)- बंद किए गए
ScaleToBoundsएपीआई को हटा दिया गया है. इसके बजाय, कृपयाscaleToBoundsका इस्तेमाल करें. (I17296)
वर्शन 1.10.0-alpha05
08 अक्टूबर, 2025
androidx.compose.animation:animation-*:1.10.0-alpha05 रिलीज़ हो गया है. वर्शन 1.10.0-alpha05 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- शेयर किए गए ट्रांज़िशन एपीआई अब स्टेबल हो गए हैं. ज़्यादा जानकारी के लिए, कृपया शेयर किए गए एलिमेंट की गाइड देखें. (I7167e).
वर्शन 1.10.0-alpha04
24 सितंबर, 2025
androidx.compose.animation:animation-*:1.10.0-alpha04 रिलीज़ हो गया है. वर्शन 1.10.0-alpha04 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
PlaceHolderSizeसे जुड़े एपीआई के नाम अपडेट किए गए. (I037d8, b/343696350)- शेयर किए गए एलिमेंट के ट्रांज़िशन के लिए नया एपीआई. इससे शेयर किए गए एलिमेंट में जेस्चर की स्पीड को बनाए रखने के लिए, शुरुआती स्पीड को सपोर्ट किया जा सकेगा. (I91be9)
वर्शन 1.10.0-alpha03
10 सितंबर, 2025
androidx.compose.animation:animation-*:1.10.0-alpha03 रिलीज़ हो गया है. वर्शन 1.10.0-alpha03 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
Modifier.skipToLookaheadSizeअब डिफ़ॉल्ट रूप से चालू किए गए lambda का इस्तेमाल करता है. यह सिर्फ़ तब साइज़ स्किप करने की सुविधा चालू करता है, जब शेयर किया गया ट्रांज़िशन चालू हो. यहModifier.skipToLookaheadPositionकी तरह ही काम करता है. (Ibe0f5, b/432485585)
वर्शन 1.10.0-alpha02
27 अगस्त, 2025
androidx.compose.animation:animation-*:1.10.0-alpha02 रिलीज़ हो गया है. वर्शन 1.10.0-alpha02 में ये बदलाव शामिल हैं.
वर्शन 1.10.0-alpha01
13 अगस्त, 2025
androidx.compose.animation:animation-*:1.10.0-alpha01 रिलीज़ हो गया है. वर्शन 1.10.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- शेयर किए गए एलिमेंट को डाइनैमिक तरीके से चालू और बंद करने की अनुमति देने वाला नया एपीआई. इससे यह भी पता चलता है कि शेयर किए गए एलिमेंट का ट्रांज़िशन पहले से चल रहा है या नहीं.
- नया एपीआई, ट्रांज़िशन के दौरान टारगेट किए गए शेयर किए गए एलिमेंट को हटाने पर, टारगेट की गई दूसरी सीमाओं को सेट अप करने के लिए.
- किसी
LookaheadScopeकाLayoutCoordinatesपाने के लिए नया एपीआई. (I18dd4, b/409819304, b/395670637) - शेयर किए गए ट्रांज़िशन के दौरान, लेआउट को टारगेट पोज़िशन पर ऐंकर करने के लिए,
SharedTransitionScopeमें नया मॉडिफ़ायरModifier.skipToLookaheadPosition. (I88734)
एपीआई में हुए बदलाव
clipInOverlayDuringTransitionलैम्डा को हटाकर,renderInSharedTransitionOverlayको आसान बनाया गया है, क्योंकि इसका इस्तेमाल बहुत कम किया जाता है.SharedContentConfigके लिए, नई फ़ैक्ट्री मेथड जोड़ी गई है. (Id01b2)- शेयर किए गए एलिमेंट, शेयर की गई सीमाओं, और
renderInSharedTransitionOverlayकॉन्फ़िगरेशन के लिए डिफ़ॉल्ट का एक सेट जोड़ा गया. इन डिफ़ॉल्ट सेटिंग को अब सार्वजनिक एपीआई के ज़रिए ऐक्सेस किया जा सकता है. (Id23cc) ScaleToBoundsResizeMode का नाम बदलकरscaleToBoundsकर दिया गया है (I5ac50)
गड़बड़ियां ठीक की गईं
- डिफ़ॉल्ट minSdk को API 21 से API 23 पर ले जाना (Ibdfca, b/380448311, b/435705964, b/435705223)
वर्शन 1.9
वर्शन 1.9.5
19 नवंबर, 2025
androidx.compose.animation:animation-*:1.9.5 रिलीज़ हो गया है. वर्शन 1.9.5 में ये बदलाव शामिल हैं.
वर्शन 1.9.4
22 अक्टूबर, 2025
androidx.compose.animation:animation-*:1.9.4 रिलीज़ हो गया है. वर्शन 1.9.4 में ये बदलाव शामिल हैं.
वर्शन 1.9.3
08 अक्टूबर, 2025
androidx.compose.animation:animation-*:1.9.3 रिलीज़ हो गया है. वर्शन 1.9.3 में ये बदलाव शामिल हैं.
वर्शन 1.9.2
24 सितंबर, 2025
androidx.compose.animation:animation-*:1.9.2 रिलीज़ हो गया है. वर्शन 1.9.2 में ये बदलाव शामिल हैं.
वर्शन 1.9.1
10 सितंबर, 2025
androidx.compose.animation:animation-*:1.9.1 रिलीज़ हो गया है. वर्शन 1.9.1 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
sharedElementWithCallerManagedVisibilityके लिए, ऐनिमेशन शुरू करने की समस्या ठीक की गई. (fa29de)
वर्शन 1.9.0
13 अगस्त, 2025
androidx.compose.animation:animation-*:1.9.0 रिलीज़ हो गया है. वर्शन 1.9.0 में ये बदलाव शामिल हैं.
वर्शन 1.9.0-rc01
30 जुलाई, 2025
androidx.compose.animation:animation-*:1.9.0-rc01 रिलीज़ हो गया है. वर्शन 1.9.0-rc01 में ये बदलाव शामिल हैं.
वर्शन 1.9.0-beta03
16 जुलाई, 2025
androidx.compose.animation:animation-*:1.9.0-beta03 रिलीज़ हो गया है. वर्शन 1.9.0-beta03 में ये बदलाव शामिल हैं.
वर्शन 1.9.0-beta02
2 जुलाई, 2025
androidx.compose.animation:animation-*:1.9.0-beta02 रिलीज़ हो गया है. वर्शन 1.9.0-beta02 में ये बदलाव शामिल हैं.
वर्शन 1.9.0-beta01
18 जून, 2025
androidx.compose.animation:animation-*:1.9.0-beta01 रिलीज़ हो गया है. वर्शन 1.9.0-beta01 में ये बदलाव शामिल हैं.
वर्शन 1.9.0-alpha04
4 जून, 2025
androidx.compose.animation:animation-*:1.9.0-alpha04 रिलीज़ हो गया है. वर्शन 1.9.0-alpha04 में ये बदलाव शामिल हैं.
वर्शन 1.9.0-alpha03
20 मई, 2025
androidx.compose.animation:animation-*:1.9.0-alpha03 रिलीज़ हो गया है. वर्शन 1.9.0-alpha03 में ये बदलाव शामिल हैं.
वर्शन 1.9.0-alpha02
7 मई, 2025
androidx.compose.animation:animation-*:1.9.0-alpha02 रिलीज़ हो गया है. वर्शन 1.9.0-alpha02 में ये बदलाव शामिल हैं.
नई सुविधाएं
- शेयर किए गए एलिमेंट में स्क्रोल करने या उन्हें खींचकर छोड़ने की सुविधा को बेहतर बनाया गया है. खास तौर पर, जब ट्रांज़िशन करने वाले शेयर किए गए एलिमेंट को स्क्रोल किया जा रहा हो, तो स्क्रोल डेल्टा को सीधे तौर पर शेयर किए गए एलिमेंट पर लागू किया जाएगा. इससे शेयर किए गए एलिमेंट, नए टारगेट को फ़ॉलो नहीं करेंगे. (cacf7b)
वर्शन 1.9.0-alpha01
23 अप्रैल, 2025
androidx.compose.animation:animation-*:1.9.0-alpha01 रिलीज़ हो गया है. वर्शन 1.9.0-alpha01 में ये बदलाव शामिल हैं.
व्यवहार में बदलाव
- Compose के साथ शिप किए गए Lint चेक के लिए, अब AGP का कम से कम 8.8.2 वर्शन ज़रूरी है. अगर AGP को अपग्रेड नहीं किया जा सकता, तो
gradle.propertiesमेंandroid.experimental.lint.version=8.8.2(या नया वर्शन) का इस्तेमाल करके, Lint को अपग्रेड किया जा सकता है. IDE में Compose के लिंट चेक चलाने के लिए, Android Studio Ladybug या इसके बाद का वर्शन ज़रूरी है.
नई सुविधाएं
- शेयर किए गए एलिमेंट के लिए स्क्रोल करने की बेहतर परफ़ॉर्मेंस (ea4f1f)
एपीआई में हुए बदलाव
- Kotlin 2.0 के साथ रिलीज़ किए गए प्रोजेक्ट के लिए, KGP 2.0.0 या इसके बाद के वर्शन की ज़रूरत होती है. (Idb6b5)
TabRowऔरScrollableTabRowअब काम नहीं करते. इनकी जगह, हर एक के प्राइमरी और सेकंडरी वैरिएंट का इस्तेमाल किया जाता है. प्राइमरी और सेकंडरी टैब की लाइनें, स्पेसिफ़िकेशन के मुताबिक ज़्यादा सटीक और बेहतर परफ़ॉर्म करती हैं. (I918e2)- क्वेरी के संसाधनों में
LocalResourcesकंपोज़िशन लोकल जोड़ी गई. कॉन्फ़िगरेशन में बदलाव होने पर,LocalResources.currentको फिर से कंपोज़ किया जाएगा. इसलिए,stringResource()जैसे एपीआई को किए गए कॉल, अपडेट की गई वैल्यू (I50c13, b/274786917) दिखाएंगे
गड़बड़ियां ठीक की गईं
- पक्का करें कि ट्रांज़िशन पूरा होने पर, शेयर किए गए एलिमेंट को ओवरले से हटा दिया गया हो (35f359)
- ट्रांज़िशन के दौरान, ज़रूरत से ज़्यादा रीकंपोज़िशन को कम किया गया (988923)
- बच्चे के ट्रांज़िशन में रुकावट आने की समस्या को ठीक किया गया (8aed52)
- पक्का करें कि नया
TransitionStateएट्रिब्यूट की वैल्यू देने पर ट्रांज़िशन रीसेट हो जाए (57820a)
बाहरी योगदान
- लिखें
1.8.1: अगर स्टीवन शॉन ने पहले ही नई अवधि तय कर दी है, तोSeekableTransitionStateमें ऐनिमेशन खत्म करें. (0c832c)
वर्शन 1.8
वर्शन 1.8.3
18 जून, 2025
androidx.compose.animation:animation-*:1.8.3 रिलीज़ हो गया है. वर्शन 1.8.3 में ये बदलाव शामिल हैं.
वर्शन 1.8.2
20 मई, 2025
androidx.compose.animation:animation-*:1.8.2 रिलीज़ हो गया है. वर्शन 1.8.2 में ये बदलाव शामिल हैं.
वर्शन 1.8.1
7 मई, 2025
androidx.compose.animation:animation-*:1.8.1 रिलीज़ हो गया है. वर्शन 1.8.1 में ये बदलाव शामिल हैं.
बाहरी योगदान
- अगर नई अवधि खत्म हो चुकी है, तो
SeekableTransitionStateमें ऐनिमेशन बंद करें. धन्यवाद स्टीवन शोएन! (fbcdf7)
वर्शन 1.8.0
23 अप्रैल, 2025
androidx.compose.animation:animation-*:1.8.0 रिलीज़ हो गया है. वर्शन 1.8.0 में ये बदलाव शामिल हैं.
1.7.0 के बाद हुए ज़रूरी बदलाव
- वर्शन 1.8.0 में हुए अहम बदलावों के बारे में इस ब्लॉग पोस्ट में बताया गया है
- लुकअहेड स्कोप में साइज़ और पोज़िशन में होने वाले बदलावों को ऐनिमेट करने के लिए, नया
Modifier.animateBoundsएपीआई. (94b939) - आर्क और स्प्लाइन के साथ कीफ़्रेम के लिए फ़ाइनल किए गए एपीआई (89e119)
LazyGridऔर Pager में Lookahead की सुविधा काम करती है. इसमें स्क्रोलिंग, आइटम कंपोज़िशन/डिस्पोज़ल, और आइटम ऐनिमेशन में लुकअहेड पास और अप्रोच पास के बीच अंतर करना शामिल है. साथ ही, स्क्रोलिंग और आइटम ऐनिमेशन टारगेट के लिए, लुकअहेड पास का इस्तेमाल किया जाता है.- शेयर किए गए एलिमेंट के सभी एपीआई में एक जैसा नाम रखने के लिए,
sharedElementपैरामीटर के नाम को राज्य से बदलकरsharedContentStateकर दिया गया है. (9e7df5) AnimatedImageVectorसुइट के एपीआई अब स्टेबल हो गए हैं.(69d7e0)
वर्शन 1.8.0-rc03
9 अप्रैल, 2025
androidx.compose.animation:animation-*:1.8.0-rc03 रिलीज़ हो गया है. वर्शन 1.8.0-rc03 में ये बदलाव शामिल हैं.
वर्शन 1.8.0-rc02
26 मार्च, 2025
androidx.compose.animation:animation-*:1.8.0-rc02 रिलीज़ हो गया है. वर्शन 1.8.0-rc02 में ये बदलाव शामिल हैं.
वर्शन 1.8.0-rc01
12 मार्च, 2025
androidx.compose.animation:animation-*:1.8.0-rc01 रिलीज़ हो गया है. वर्शन 1.8.0-rc01 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- चाइल्ड ट्रांज़िशन को ठीक किए जाने के बाद भी, उसे गलत तरीके से इंटरप्ट किया गया के तौर पर मार्क किया जा रहा था. इस समस्या को ठीक किया गया है. (3fa2ce)
वर्शन 1.8.0-beta03
26 फ़रवरी, 2025
androidx.compose.animation:animation-*:1.8.0-beta03 रिलीज़ हो गया है. वर्शन 1.8.0-beta03 में ये बदलाव शामिल हैं.
वर्शन 1.8.0-beta02
12 फ़रवरी, 2025
androidx.compose.animation:animation-*:1.8.0-beta02 रिलीज़ हो गया है. वर्शन 1.8.0-beta02 में ये बदलाव शामिल हैं.
वर्शन 1.8.0-beta01
29 जनवरी, 2025
androidx.compose.animation:animation-*:1.8.0-beta01 रिलीज़ हो गया है. वर्शन 1.8.0-beta01 में ये बदलाव शामिल हैं.
वर्शन 1.8.0-alpha08
15 जनवरी, 2025
androidx.compose.animation:animation-*:1.8.0-alpha08 रिलीज़ हो गया है. वर्शन 1.8.0-alpha08 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
MotionFrameOfReferencePlacementके रीसेट होने की वजह से,LazyGridमेंanimateBoundsसे गलत प्लेसमेंट वाले ऐनिमेशन को ठीक किया गया. (16193b)SharedTransitionLayoutमें इंट्रिंसिक क्वेरी की समस्या ठीक की गई. इसके लिए, इंट्रिंसिक क्वेरी को टॉप-लेवल के लुकअहेड रूट से लुकअहेड पास पर रीडायरेक्ट किया गया. (a07d12)- दस्तावेज़ों में, वे
@paramटैग जोड़े गए जो पहले मौजूद नहीं थे. (e5cf67)
वर्शन 1.8.0-alpha07
11 दिसंबर, 2024
androidx.compose.animation:animation-*:1.8.0-alpha07 रिलीज़ हो गया है. वर्शन 1.8.0-alpha07 में ये बदलाव शामिल हैं.
नई सुविधाएं
- यह Pager में लुकअहेड की सुविधा के साथ काम करता है. इसके लिए, यह आइटम बनाए रखने और स्क्रोलिंग का इस्तेमाल करने के लिए, लुकअहेड पास को अप्रोच पास से अलग करता है. (b/371802474)
गड़बड़ियां ठीक की गईं
- इस अपडेट में, क्रैश होने की एक ऐसी समस्या को ठीक किया गया है जिसमें शेयर किया गया कोई एलिमेंट कंपोज़ किया जाता है, लेकिन उसे कभी मेज़र/प्लेस नहीं किया जाता. इसके लिए, शेयर किए गए एलिमेंट को ओवरले में रेंडर करने से पहले, उसे कम से कम एक बार रेंडर करना ज़रूरी है. (b/371802474)
वर्शन 1.8.0-alpha06
13 नवंबर, 2024
androidx.compose.animation:animation-*:1.8.0-alpha06 रिलीज़ हो गया है. वर्शन 1.8.0-alpha06 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- शेयर किए गए एलिमेंट के सभी एपीआई में एक जैसा नाम रखने के लिए,
sharedElementपैरामीटर के नाम कोstateसे बदलकरsharedContentStateकर दिया गया है. (I5694c, b/375351468) AnimatedImageVectorएपीआई का सुइट अब स्टेबल हो गया है. (I7174b, b/261436267)
वर्शन 1.8.0-alpha05
30 अक्टूबर, 2024
androidx.compose.animation:animation-*:1.8.0-alpha05 रिलीज़ हो गया है. वर्शन 1.8.0-alpha05 में ये बदलाव शामिल हैं.
नई सुविधाएं
- अब
LazyGridमें लुकअहेड की सुविधा काम करती है. इसमें स्क्रोलिंग, आइटम कंपोज़िशन/डिस्पोज़ल, और आइटम ऐनिमेशन में लुकअहेड पास और अप्रोच पास के बीच अंतर करना शामिल है. साथ ही, स्क्रोलिंग और आइटम ऐनिमेशन टारगेट के लिए, लुकअहेड पास का इस्तेमाल किया जाता है.
गड़बड़ियां ठीक की गईं
- ट्रांज़िशन फिर से बनाए जाने पर,
AnimatedContentके साइज़ ट्रांसफ़ॉर्म के लिए इंटरनल स्टेटस अपडेट करता है. इससे यह पक्का होता है कि टारगेट साइज़ की जानकारी हमेशा अप-टू-डेट रहे. (b/372512085)
वर्शन 1.8.0-alpha04
16 अक्टूबर, 2024
androidx.compose.animation:animation-*:1.8.0-alpha04 रिलीज़ हो गया है. वर्शन 1.8.0-alpha04 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- ऐसी गड़बड़ी को ठीक किया गया है जिसकी वजह से, कुछ ईज़िंग कर्व, समय के कुछ हिस्सों में क्रैश हो जाते थे.
- हमने एक गड़बड़ी ठीक की है. इसकी वजह से, आरटीएल मोड में
Modifier.animateContentSizeठीक से अलाइन नहीं हो रहा था. (Idae6b, b/372055503)
वर्शन 1.8.0-alpha03
2 अक्टूबर, 2024
androidx.compose.animation:animation-*:1.8.0-alpha03 रिलीज़ हो गया है. वर्शन 1.8.0-alpha03 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- Kotlin का वर्शन 1.9 (I1a14c) पर अपडेट किया गया
गड़बड़ियां ठीक की गईं
AnimatedContentके साइज़ ऐनिमेशन में एक समस्या ठीक की गई है. इसमें, ऐनिमेशन को हमेशा ट्रैक किया जाता है और मौजूदा साइज़ से ऐनिमेशन शुरू किया जाता है, ताकि ऐनिमेशन लगातार चलता रहे.
वर्शन 1.8.0-alpha02
18 सितंबर, 2024
androidx.compose.animation:animation-*:1.8.0-alpha02 रिलीज़ हो गया है. वर्शन 1.8.0-alpha02 में ये बदलाव शामिल हैं.
वर्शन 1.8.0-alpha01
4 सितंबर, 2024
androidx.compose.animation:animation-*:1.8.0-alpha01 रिलीज़ हो गया है. वर्शन 1.8.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- लुकअहेड स्कोप में साइज़ और पोज़िशन में होने वाले बदलावों को ऐनिमेट करने के लिए, नया
Modifier.animateBoundsएपीआई. 94b9394
एपीआई में हुए बदलाव
- आर्क और स्प्लाइन वाले मुख्य फ़्रेम से एक्सपेरिमेंट के फ़्लैग हटाए गए (89e1199)
गड़बड़ियां ठीक की गईं
- कोई मैच न मिलने पर,
placeHolderSizeलॉजिक को छोड़ें (77c0160) AndroidFlingSplineमें वीडियो चलाने के समय को सीमित करें, ताकि वीडियो चलाने के समय में लगातार बढ़ोतरी होने की वजह से होने वाली क्रैश की समस्या को रोका जा सके(9d47587)- कुछ स्थितियों में
SharedTransitionScopeके आइटम न दिखाने की समस्या ठीक की गई (b41077b6)
बाहरी योगदान
- स्टीवन शॉन के किसी ट्रांज़िशन के चालू न होने पर, सीक किए जा सकने वाले ट्रांज़िशन
playTimeको सेट होने से रोकें. (c2e6e7e6)
वर्शन 1.7
वर्शन 1.7.8
12 फ़रवरी, 2025
androidx.compose.animation:animation-*:1.7.8 रिलीज़ हो गया है. वर्शन 1.7.8 में ये बदलाव शामिल हैं.
वर्शन 1.7.7
29 जनवरी, 2025
androidx.compose.animation:animation-*:1.7.7 रिलीज़ हो गया है. 1.7.6 वर्शन के बाद से कोई बदलाव नहीं किया गया है.
11 दिसंबर, 2024
androidx.compose.animation:animation-*:1.7.6 रिलीज़ हो गया है. वर्शन 1.7.6 में ये बदलाव शामिल हैं.
वर्शन 1.7.5
30 अक्टूबर, 2024
androidx.compose.animation:animation-*:1.7.5 रिलीज़ हो गया है. वर्शन 1.7.5 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- हमने एक गड़बड़ी ठीक की है. इसकी वजह से, आरटीएल मोड में
Modifier.animateContentSizeठीक से अलाइन नहीं हो रहा था. (Idae6b, b/372055503)
वर्शन 1.7.4
16 अक्टूबर, 2024
androidx.compose.animation:animation-*:1.7.4 रिलीज़ हो गया है. वर्शन 1.7.4 में ये बदलाव शामिल हैं.
वर्शन 1.7.3
2 अक्टूबर, 2024
androidx.compose.animation:animation-*:1.7.3 रिलीज़ हो गया है. वर्शन 1.7.3 में ये बदलाव शामिल हैं.
वर्शन 1.7.2
18 सितंबर, 2024
androidx.compose.animation:animation-*:1.7.2 रिलीज़ हो गया है. वर्शन 1.7.2 में ये बदलाव शामिल हैं.
बाहरी योगदान
- जब कोई ट्रांज़िशन नहीं चल रहा हो, तब सीक किए जा सकने वाले ट्रांज़िशन
playTimeको सेट होने से रोकता है. धन्यवाद स्टीवन शोएन! (c2e6e7e6)
वर्शन 1.7.1
10 सितंबर, 2024
- Android आर्टफ़ैक्ट में कोई बदलाव नहीं किया गया है.
-desktopआर्टफ़ैक्ट हटा दिए गए हैं. साथ ही,-jvmStubsऔर-linuxx64Stubsआर्टफ़ैक्ट जोड़ दिए गए हैं. इनमें से किसी भी टारगेट का इस्तेमाल नहीं किया जाना चाहिए. ये सिर्फ़ प्लेसहोल्डर हैं, ताकि Jetbrains Compose को बेहतर बनाने में मदद मिल सके.
वर्शन 1.7.0
4 सितंबर, 2024
androidx.compose.animation:animation-*:1.7.0 रिलीज़ हो गया है.
1.6.0 के बाद हुए ज़रूरी बदलाव
वर्शन 1.7.0 में हुए अहम बदलावों के बारे में जानने के लिए, यह ब्लॉग पोस्ट पढ़ें.
शेयर किए गए एलिमेंट के ट्रांज़िशन के लिए नए एपीआई
- शेयर किए गए एलिमेंट के ट्रांज़िशन के नए एपीआई, आपके इस्तेमाल और सुझाव/राय देने या शिकायत करने के लिए उपलब्ध हैं. ये नए एक्सपेरिमेंटल एपीआई, लेआउट को टैग करने की सुविधा देते हैं. इसके लिए, लेआउट ट्री में शेयर किए गए लेआउट और दिए गए मॉडिफ़ायर का इस्तेमाल किया जाता है. इससे, शेयर किए गए कॉन्टेंट का एक सेट बंद होने और दूसरा सेट शुरू होने पर, बाउंड्री में आसानी से बदलाव होता है. (Icb0b9)
sharedBoundsमें कॉन्टेंट को बड़े पैमाने पर उपलब्ध कराने के लिए, नईscaleInSharedContentToBoundsऔरscaleOutSharedContentToBounds(I731c1)- एक्सपेरिमेंट के तौर पर उपलब्ध
SharedTransitionScopeअब क्लास के बजाय इंटरफ़ेस है. (Iaf856) sharedBoundsके लिए नयाresizeModes(ScaleToBoundsऔरRemeasureToBounds). इससे, स्केलिंग और फिर से मेज़र करने के बीच कोई विकल्प चुना जा सकता है. पिछलेscaleIn/OutSharedContentToBoundsएपीआई अब काम नहीं करते. (I0d41a)
मौजूदा एपीआई में सुधार:
- नया
Modifier.animateContentSize, जो कस्टम कॉन्टेंट अलाइनमेंट के लिए एक अतिरिक्त पैरामीटर लेता है. (I5623a, b/269803907) - साइज़, पोज़िशन या किसी अन्य टारगेट को ऐनिमेट करने के लिए, नया एक्सपेरिमेंटल
DeferredTargetAnimation. इंस्टैंटिएट करने के दौरान, टारगेट के बारे में जानकारी नहीं होती है. (I60745) SeekableTransitionState,snapTo()कोseekTo()से बदलता है. साथ ही, एकsnapTo()जोड़ता है, जो बिना किसी ऐनिमेशन के स्थिति को तुरंत डेस्टिनेशन स्थिति में बदल देता है.- अब
keyframesWithSplineकोperiodicBiasवैल्यू (फ़्लोट) पास की जा सकती है. इससे स्प्लाइन की शुरुआती और आखिरी वेलोसिटी बराबर हो जाएगी. स्प्लाइन का इस्तेमाल करके, बार-बार होने वाले ऐनिमेशन के लिए यह फ़ंक्शन काम का होता है. बायस से पता चलता है कि पीरियोडिसिटी हासिल करने के लिए, हर वेलोसिटी (शुरुआती और आखिरी) में कितना बदलाव किया जाता है. (Ic1e6c, b/292114811)
यहां दिए गए एपीआई अब स्टेबल हो गए हैं या इन्हें हटा दिया गया है:
AnimatedVisibilityScope.transitionअब एक स्टेबल एपीआई है.Modifier.animateEnterExit(..)को भी स्थिर कर दिया गया है. (I6c1d1)ApproachLayoutModifierNodeऔरModifier.approachLayoutअब स्टेबल हो गए हैं. साथ ही, पुरानेisMeasurementApproachComplete()औरisPlacementApproachComplete()की जगह लेने के लिए, नएisMeasurementApproachInProgress()औरisPlacementApproachInProgress()उपलब्ध हैं.- बहिष्कृत किए गए
intermediateLayoutमॉडिफ़ायर को हटाया गया. (I3e91c) LookaheadScopeएपीआई को स्थिर कर दिया गया है. (I21507)
वर्शन 1.7.0-rc01
21 अगस्त, 2024
androidx.compose.animation:animation-*:1.7.0-rc01 रिलीज़ हो गया है. वर्शन 1.7.0-rc01 में ये बदलाव शामिल हैं.
वर्शन 1.7.0-beta07
7 अगस्त, 2024
androidx.compose.animation:animation-*:1.7.0-beta07 रिलीज़ हो गया है. वर्शन 1.7.0-beta07 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- कुछ स्थितियों में ट्रांज़िशन के दौरान, फ़िक्स्ड
SharedTransitionScopeके ओवरले आइटम नहीं दिख रहे थे. आम तौर पर, ऐसा नेविगेशन के साथ इस्तेमाल करने पर होता था. इस समस्या को ठीक कर दिया गया है. (Id65ab, b/347520198)
वर्शन 1.7.0-beta06
24 जुलाई, 2024
androidx.compose.animation:animation-*:1.7.0-beta06 रिलीज़ हो गया है. वर्शन 1.7.0-beta06 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- ट्रांज़िशन बंद होने पर,
SnapshotStateObserverसे मिले डेटा को सही तरीके से हटाने की सुविधा जोड़ी गई है. इससेSeekableTransitionकी ट्रांज़िशन स्टेट लीक होने की समस्या ठीक हो गई है. (b9c7182) - ऐसे कुछ मामलों को ठीक किया गया है जिनमें पैरंट ट्रांज़िशन पूरा होने पर, चाइल्ड ट्रांज़िशन को 'पूरा हो गया' के तौर पर सही तरीके से मार्क नहीं किया जाता था. (dc42216)
वर्शन 1.7.0-beta05
10 जुलाई, 2024
androidx.compose.animation:animation-*:1.7.0-beta05 रिलीज़ हो गया है. वर्शन 1.7.0-beta05 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- अब
snapshotFlowमें, ट्रांज़िशन प्रॉपर्टीtotalDurationNanosको सही तरीके से पढ़ा जा सकता है.
वर्शन 1.7.0-beta04
26 जून, 2024
androidx.compose.animation:animation-*:1.7.0-beta04 रिलीज़ हो गया है. वर्शन 1.7.0-beta04 में ये बदलाव शामिल हैं.
वर्शन 1.7.0-beta03
12 जून, 2024
androidx.compose.animation:animation-*:1.7.0-beta03 रिलीज़ हो गया है. वर्शन 1.7.0-beta03 में ये बदलाव शामिल हैं.
वर्शन 1.7.0-beta02
29 मई, 2024
androidx.compose.animation:animation-*:1.7.0-beta02 रिलीज़ हो गया है. वर्शन 1.7.0-beta02 में ये बदलाव शामिल हैं.
वर्शन 1.7.0-beta01
14 मई, 2024
androidx.compose.animation:animation-*:1.7.0-beta01 रिलीज़ हो गया है. वर्शन 1.7.0-beta01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
sharedBoundsके लिए नयाresizeModes(ScaleToBoundsऔरRemeasureToBounds). इससे, स्केलिंग और फिर से मेज़र करने के बीच कोई विकल्प चुना जा सकता है. पिछलेscaleIn/OutSharedContentToBoundsएपीआई अब काम नहीं करते. (I0d41a)
बाहरी योगदान
- स्टीवन शॉन ने एक्सपेरिमेंटल
SharedTransitionScopeको अब क्लास के बजाय इंटरफ़ेस बना दिया है. (Iaf856, b/338415048, b/338414702)
वर्शन 1.7.0-alpha08
1 मई, 2024
androidx.compose.animation:animation-*:1.7.0-alpha08 रिलीज़ हो गया है. वर्शन 1.7.0-alpha08 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
LookaheadScopeएपीआई को स्थिर कर दिया गया है. (I21507)
बाहरी योगदान
- स्टीवन शॉन (1ca89529) ने
SeekableTransitionStateके ऐनिमेट/स्नैप होने के बाद, ऐनिमेशन शुरू होने का समय मिटा दिया
वर्शन 1.7.0-alpha07
17 अप्रैल, 2024
androidx.compose.animation:animation-*:1.7.0-alpha07 रिलीज़ हो गया है. वर्शन 1.7.0-alpha07 में ये बदलाव शामिल हैं.
नई सुविधाएं
- शेयर किए गए एलिमेंट के ट्रांज़िशन के नए एपीआई, आपके इस्तेमाल और सुझाव/राय देने या शिकायत करने के लिए उपलब्ध हैं. ये नए एक्सपेरिमेंटल एपीआई, लेआउट को टैग करने की सुविधा देते हैं. इसके लिए, लेआउट ट्री में शेयर किए गए लेआउट और दिए गए मॉडिफ़ायर का इस्तेमाल किया जाता है. इससे, शेयर किए गए कॉन्टेंट का एक सेट बंद होने और दूसरा सेट शुरू होने पर, बाउंड्री में आसानी से बदलाव होता है. (Icb0b9)
sharedBoundsमें कॉन्टेंट को बड़े पैमाने पर उपलब्ध कराने के लिए, नईscaleInSharedContentToBoundsऔरscaleOutSharedContentToBounds(I731c1)
एपीआई में हुए बदलाव
AnimatedVisibilityScope.transitionअब एक स्टेबल एपीआई है.Modifier.animateEnterExit(..)को भी स्थिर कर दिया गया है. (I6c1d1)ApproachLayoutModifierNodeऔरModifier.approachLayoutअब स्टेबल हो गए हैं. साथ ही, पुरानेisMeasurementApproachComplete()औरisPlacementApproachComplete()की जगह लेने के लिए, नएisMeasurementApproachInProgress()औरisPlacementApproachInProgress()उपलब्ध हैं.- बहिष्कृत किए गए
intermediateLayoutमॉडिफ़ायर को हटाया गया. (I3e91c) - अब
keyframesWithSplineकोperiodicBiasवैल्यू (फ़्लोट) पास की जा सकती है. इससे स्प्लाइन की शुरुआती और आखिरी वेलोसिटी बराबर हो जाएगी. स्प्लाइन का इस्तेमाल करके, बार-बार होने वाले ऐनिमेशन के लिए यह फ़ंक्शन काम का होता है. बायस से पता चलता है कि पीरियोडिसिटी हासिल करने के लिए, हर वेलोसिटी (शुरुआती और आखिरी) में कितना बदलाव किया जाता है. (Ic1e6c, b/292114811)
गड़बड़ियां ठीक की गईं
- ईज़िंग कर्व के ओवर-शूटिंग और अंडर-शूटिंग की समस्या ठीक की गई है. पहले, इन्हें 0..1 पर क्लैंप किया जाता था (I38747)
वर्शन 1.7.0-alpha06
3 अप्रैल, 2024
androidx.compose.animation:animation-*:1.7.0-alpha06 रिलीज़ हो गया है. वर्शन 1.7.0-alpha06 में ये बदलाव शामिल हैं.
नई सुविधाएं
LazyColumnऔरLazyRowमें, आइटम के दिखने और गायब होने के ऐनिमेशन की सुविधा जोड़ी गई. पहले, प्लेसमेंट (रीऑर्डरिंग) ऐनिमेशन के लिए सहायता पाने के लिए,Modifier.animateItemPlacement()मॉडिफ़ायर जोड़ा जा सकता था. हमने इस मॉडिफ़ायर को बंद कर दिया है और एक नया मॉडिफ़ायर लॉन्च किया है. यह एक्सपेरिमेंट के लिए नहीं है. इसका नामModifier.animateItem()है. इसकी मदद से, ऐनिमेशन के तीनों टाइप इस्तेमाल किए जा सकते हैं: दिखना (फ़ेड इन), गायब होना (फ़ेड आउट), और क्रम बदलना. (I2d7f7, b/330152398, b/150812265)
गड़बड़ियां ठीक की गईं
updateTransitionएपीआई की परफ़ॉर्मेंस में सुधार किया गया है.
वर्शन 1.7.0-alpha05
20 मार्च, 2024
androidx.compose.animation:animation-*:1.7.0-alpha05 रिलीज़ हो गया है. वर्शन 1.7.0-alpha05 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
SeekableTransitionState,snapTo()कोseekTo()से बदलता है. साथ ही, एकsnapTo()जोड़ता है, जो बिना किसी ऐनिमेशन के स्थिति को तुरंत डेस्टिनेशन स्थिति में बदल देता है.
वर्शन 1.7.0-alpha04
6 मार्च, 2024
androidx.compose.animation:animation-*:1.7.0-alpha04 रिलीज़ हो गया है. वर्शन 1.7.0-alpha04 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- पाथ की दिशा बदलने के लिए नया एपीआई
Path.reverse()(I36348)
वर्शन 1.7.0-alpha03
21 फ़रवरी, 2024
androidx.compose.animation:animation-*:1.7.0-alpha03 रिलीज़ हो गया है. वर्शन 1.7.0-alpha03 में ये बदलाव शामिल हैं.
नई सुविधाएं
- नया
Modifier.animateContentSize, जो कस्टम कॉन्टेंट अलाइनमेंट के लिए एक अतिरिक्त पैरामीटर लेता है. (I5623a, b/269803907) - साइज़, पोज़िशन या किसी अन्य टारगेट को ऐनिमेट करने के लिए नया एक्सपेरिमेंटल
DeferredTargetAnimation. इंस्टैंटिएट करने के दौरान, टारगेट के बारे में जानकारी नहीं होती है. (I60745)
वर्शन 1.7.0-alpha02
7 फ़रवरी, 2024
androidx.compose.animation:animation-*:1.7.0-alpha02 रिलीज़ हो गया है. वर्शन 1.7.0-alpha02 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
KeyframesSpecके साथ काम करने से जुड़ी समस्या ठीक की गई. (I2bdf3, b/322214617)LazyListमें इस्तेमाल किए जाने पर,Modifier.animateContentSizeके ठीक से रीसेट न होने की समस्या ठीक की गई. (I070512, b/322525716)- टाइमस्टैंप की सीमा से बाहर होने पर,
IllegalStateExceptionकोKeyframesSpecपर ठीक किया गया. (I341b8, b/322839811)
वर्शन 1.7.0-alpha01
24 जनवरी, 2024
androidx.compose.animation:animation-*:1.7.0-alpha01 रिलीज़ हो गया है. वर्शन 1.7.0-alpha01 में ये बदलाव शामिल हैं.
वर्शन 1.6
वर्शन 1.6.8
12 जून, 2024
androidx.compose.animation:animation-*:1.6.8 रिलीज़ हो गया है. वर्शन 1.6.8 में ये बदलाव शामिल हैं.
वर्शन 1.6.7
1 मई, 2024
androidx.compose.animation:animation-*:1.6.7 रिलीज़ हो गया है. वर्शन 1.6.7 में ये बदलाव शामिल हैं.
वर्शन 1.6.6
17 अप्रैल, 2024
androidx.compose.animation:animation-*:1.6.6 रिलीज़ हो गया है. पिछली रिलीज़ के बाद से कोई बदलाव नहीं हुआ है
वर्शन 1.6.5
3 अप्रैल, 2024
androidx.compose.animation:animation-*:1.6.5 रिलीज़ हो गया है. वर्शन 1.6.5 में ये बदलाव शामिल हैं.
वर्शन 1.6.4
20 मार्च, 2024
androidx.compose.animation:animation-*:1.6.4 रिलीज़ हो गया है. वर्शन 1.6.4 में ये बदलाव शामिल हैं.
वर्शन 1.6.3
6 मार्च, 2024
androidx.compose.animation:animation-*:1.6.3 रिलीज़ हो गया है. वर्शन 1.6.3 में ये बदलाव शामिल हैं.
वर्शन 1.6.2
21 फ़रवरी, 2024
androidx.compose.animation:animation-*:1.6.2 रिलीज़ हो गया है. वर्शन 1.6.2 में ये बदलाव शामिल हैं.
वर्शन 1.6.1
7 फ़रवरी, 2024
androidx.compose.animation:animation-*:1.6.1 रिलीज़ हो गया है. वर्शन 1.6.1 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
KeyframesSpecके साथ काम करने से जुड़ी समस्या ठीक की गई. (I2bdf3, b/322214617)
वर्शन 1.6.0
24 जनवरी, 2024
androidx.compose.animation:animation-*:1.6.0 रिलीज़ हो गया है. वर्शन 1.6.0 में ये बदलाव शामिल हैं.
वर्शन 1.6.0-rc01
10 जनवरी, 2024
androidx.compose.animation:animation-*:1.6.0-rc01 रिलीज़ हो गया है. वर्शन 1.6.0-rc01 में ये बदलाव शामिल हैं.
वर्शन 1.6.0-beta03
13 दिसंबर, 2023
androidx.compose.animation:animation-*:1.6.0-beta03 रिलीज़ हो गया है. वर्शन 1.6.0-beta03 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
AnimatedContentTransitionScopeसेscaleInToFitContainerऔरscaleOutToFitContainerको कुछ समय के लिए हटा दिया गया है, क्योंकि इनके लिए लुकअहेड की ज़रूरत होती है. ये सुविधाएं तब उपलब्ध होंगी, जब आने वाले समय में रिलीज़ होने वाले वर्शन में, लुकअहेड की सुविधा डिफ़ॉल्ट रूप से चालू होगी या आपने इसे चालू किया होगा.
वर्शन 1.6.0-beta02
29 नवंबर, 2023
androidx.compose.animation:animation-*:1.6.0-beta02 रिलीज़ हो गया है. वर्शन 1.6.0-beta02 में ये बदलाव शामिल हैं.
वर्शन 1.6.0-beta01
15 नवंबर, 2023
androidx.compose.animation:animation-*:1.6.0-beta01 रिलीज़ हो गया है. वर्शन 1.6.0-beta01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- ज़्यादा जानकारी देने के लिए,
ExitTransition.Holdका नाम बदलकरExitTransition.KeepUntilTransitionsFinishedकर दिया गया है. (I1c490) - अब
keyframesWithSplineका इस्तेमाल करके, किसी भी N-डाइमेंशनल वैल्यू को इंटरपोलेट किया जा सकता है. इसके लिए, मोनोटोनिक स्प्लाइन का इस्तेमाल किया जाता है. यहOffset,IntOffset,DpOffsetजैसी पोज़िशनल वैल्यू को इंटरपोलेट करने के लिए खास तौर पर उपयोगी है. इसे एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई के तौर पर जोड़ा गया है.
गड़बड़ियां ठीक की गईं
ArcLineमें स्वीप ग्रेडिएंट के लिए रेंडरर की सुविधा जोड़ी गई. (I4d5bb)PageSize.Fixedके लिए equals और hashcode लागू करें. (Ie3ede, b/300134276)- Window Inset में बदलाव करने पर, बाइनरी के साथ काम करने से जुड़ी समस्या ठीक की गई. (Iee695)
- Material3 चिप/बटन के लिए, मटीरियल कोर लेयर हटाएं. ऐसा इसलिए, क्योंकि माइक्रोबेंचमार्क से पता चलता है कि इसके बिना बेहतर परफ़ॉर्मेंस मिलती है. (I55555)
वर्शन 1.6.0-alpha08
18 अक्टूबर, 2023
androidx.compose.animation:animation-*:1.6.0-alpha08 रिलीज़ हो गया है. वर्शन 1.6.0-alpha08 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- बिल्डर पैटर्न को बनाए रखने वाले
KeyframesSpecConfig#usingके पक्ष मेंKeyframesSpecConfig#withको बंद कर दिया गया है. (I1d769)
वर्शन 1.6.0-alpha07
4 अक्टूबर, 2023
androidx.compose.animation:animation-*:1.6.0-alpha07 रिलीज़ हो गया है. वर्शन 1.6.0-alpha07 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- फ़िक्स्ड और स्क्रोल किए जा सकने वाले टैबरो में अब प्राइमरी और सेकंडरी वैरिएंट उपलब्ध हैं. ये Material3 में तय किए गए रंग और इंडिकेटर के व्यवहार के हिसाब से सही तरीके से मैप किए गए हैं.
PrimaryScrollableTabRowऔरSecondaryScrollableTabRowअब स्क्रोल की स्थिति दिखाते हैं. (Iec8f5, b/260572337)
वर्शन 1.6.0-alpha06
20 सितंबर, 2023
androidx.compose.animation:animation-*:1.6.0-alpha06 रिलीज़ हो गया है. वर्शन 1.6.0-alpha06 में ये बदलाव शामिल हैं.
वर्शन 1.6.0-alpha05
6 सितंबर, 2023
androidx.compose.animation:animation-*:1.6.0-alpha05 रिलीज़ हो गया है. वर्शन 1.6.0-alpha05 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
PathEasingको जोड़ा गया, ताकि ईज़िंग कर्व को कोई भी पाथ दिया जा सके. (Idb4b9)
वर्शन 1.6.0-alpha04
23 अगस्त, 2023
androidx.compose.animation:animation-*:1.6.0-alpha04 रिलीज़ हो गया है. वर्शन 1.6.0-alpha04 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- डेवलपर को ट्रांज़िशन की प्रोसेस को कंट्रोल करने की अनुमति देने के लिए,
SeekableTransitionStateजोड़ें. (I8e69d)
वर्शन 1.6.0-alpha03
9 अगस्त, 2023
androidx.compose.animation:animation-*:1.6.0-alpha03 रिलीज़ हो गया है. वर्शन 1.6.0-alpha03 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- ऑब्जेक्ट को सीन में शामिल करने और हटाने के लिए, ट्रांज़िशन का नया टाइप. यह ऑब्जेक्ट को सीन में शामिल करने और हटाने के दौरान, ऐनिमेशन वाले कंटेनर के साइज़ के हिसाब से कॉन्टेंट को स्केल करता है.
LookaheadScopeकंपोज़ेबल फ़न और इंटरफ़ेस अब स्टेबल हो गए हैं. (Ifb2ce)
वर्शन 1.6.0-alpha02
26 जुलाई, 2023
androidx.compose.animation:animation-*:1.6.0-alpha02 रिलीज़ हो गया है. वर्शन 1.6.0-alpha02 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
AnimatedContentमें आउटगोइंग कॉन्टेंट दिखाने के लिए नयाExitTransition.Hold, जब तक कि दोनों के ट्रांज़िशन खत्म नहीं हो जाते. (I5984f)- कंपोज़ेबल में इस्तेमाल किए जा सकने वाले इनपुट तय करने के लिए अतिरिक्त एनोटेशन (I51109)
वर्शन 1.6.0-alpha01
21 जून, 2023
androidx.compose.animation:animation-*:1.6.0-alpha01 रिलीज़ हो गया है. वर्शन 1.6.0-alpha01 में ये बदलाव शामिल हैं.
नई सुविधाएं
- लुकअहेड पास में टारगेट साइज़ की जानकारी देकर,
Modifier.animateContentSizeऔरAnimatedVisibilityको लुकअहेड सिस्टम में पूरी तरह से इंटिग्रेट किया जा सकता है.
एपीआई में हुए बदलाव
IntrinsincMeasureScopeमें नई प्रॉपर्टी और उसके लागू करने के तरीके (जैसे,MeasureScope). इससे यह पता चलता है कि मौजूदा मेज़रमेंट पास, लुकअहेड पास है या नहीं. (I7a812)
गड़बड़ियां ठीक की गईं
- स्प्रिंग ऐनिमेशन से असाइनमेंट हटाए गए. (Ie9431)
- Enum.valueOf के लिए वैल्यू पैरामीटर का नाम बदला गया (Ia9b89)
- enum valueOf (I818fe) से ज़्यादा थ्रो किए गए अपवाद
संस्करण 1.5
वर्शन 1.5.4
18 अक्टूबर, 2023
androidx.compose.animation:animation-*:1.5.4 रिलीज़ हो गया है. वर्शन 1.5.4 में ये बदलाव शामिल हैं.
वर्शन 1.5.3
4 अक्टूबर, 2023
androidx.compose.animation:animation-*:1.5.3 रिलीज़ हो गया है. इस वर्शन में कोई बदलाव नहीं किया गया है
संस्करण 1.5.2
27 सितंबर, 2023
androidx.compose.animation:animation-*:1.5.2 रिलीज़ हो गया है. वर्शन 1.5.2 में ये बदलाव शामिल हैं.
संस्करण 1.5.1
6 सितंबर, 2023
androidx.compose.foundation:foundation-*:1.5.1 रिलीज़ हो गया है. वर्शन 1.5.1 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- टेक्स्ट फ़ील्ड में कीबोर्ड दिखने और
readOnlyके सही होने पर बदलाव किए जा सकने की समस्या ठीक की गई. इसके अलावा, फ़ोकस किए जाने के दौरानreadOnlyको सही से गलत पर बदलने पर कीबोर्ड न दिखने की समस्या को भी ठीक किया गया है. (I34a19, b/246909589)
संस्करण 1.5.1
6 सितंबर, 2023
androidx.compose.animation:animation-*:1.5.1 रिलीज़ हो गया है. वर्शन 1.5.1 में ये बदलाव शामिल हैं.
वर्शन 1.5.0
9 अगस्त, 2023
androidx.compose.animation:animation-*:1.5.0 रिलीज़ हो गया है. वर्शन 1.5.0 में ये बदलाव शामिल हैं.
वर्शन 1.5.0-rc01
26 जुलाई, 2023
androidx.compose.animation:animation-*:1.5.0-rc01 रिलीज़ हो गया है. वर्शन 1.5.0-rc01 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
हमने उस समस्या को ठीक कर दिया है जिसमें प्रिमिटिव स्टेट टाइप (जैसे कि
MutableIntState) पर.valueको कॉल करने पर, अमान्य फ़िक्स के साथ लिंट चेतावनी दिखती थी. अब जांच में, सही प्रॉपर्टी पर माइग्रेट करने का सुझाव दिया जाएगा. (Iba953, b/287279257)प्रिमिटिव के लिए,
mutableStateOf()कॉल को उनके खास टाइप में माइग्रेट करने का सुझाव देने के लिए, जांच का विकल्प उपलब्ध है. इसका लिंट आईडीAutoboxingStateCreationहै. पहले, यह जांच सभी प्रोजेक्ट के लिए डिफ़ॉल्ट रूप से चालू होती थी. Android Studio के एडिटर और आपके प्रोजेक्ट के लिंट आउटपुट में इस चेतावनी को देखने के लिए, इसकी गंभीरता को सूचना से बदलकर चेतावनी (या इससे ज़्यादा) पर सेट करें. इसके लिए, अपने मॉड्यूल केbuild.gradleयाbuild.gradle.ktsकॉन्फ़िगरेशन मेंwarning "AutoboxingStateCreation"को इस तरह से एलान करें (I34f7e):android { lint { warning "AutoboxingStateCreation" } ... }
वर्शन 1.5.0-beta03
28 जून, 2023
androidx.compose.animation:animation-*:1.5.0-beta03 रिलीज़ हो गया है. वर्शन 1.5.0-beta03 में ये बदलाव शामिल हैं.
वर्शन 1.5.0-beta02
7 जून, 2023
androidx.compose.animation:animation-*:1.5.0-beta02 रिलीज़ हो गया है. वर्शन 1.5.0-beta02 में ये बदलाव शामिल हैं.
वर्शन 1.5.0-beta01
24 मई, 2023
androidx.compose.animation:animation-*:1.5.0-beta01 रिलीज़ हो गया है. वर्शन 1.5.0-beta01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- रीकंपोज़िशन, कलर ऐनिमेशन, और
AndroidComposeView(Ib2bfa) में किए गए बदलावों को हटाया गया
गड़बड़ियां ठीक की गईं
- स्प्रिंग ऐनिमेशन से हटाए गए असाइनमेंट (Ie9431)
वर्शन 1.5.0-alpha04
10 मई, 2023
androidx.compose.animation:animation-*:1.5.0-alpha04 रिलीज़ हो गया है. वर्शन 1.5.0-alpha04 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
ContentKeyअबAnimatedContentमें काम करता है, ताकि यह तय किया जा सके कि ट्रांज़िशन कब होना चाहिए. (Ic069b)
वर्शन 1.5.0-alpha03
19 अप्रैल, 2023
androidx.compose.animation:animation-*:1.5.0-alpha03 रिलीज़ हो गया है. वर्शन 1.5.0-alpha03 में ये बदलाव शामिल हैं.
नई सुविधाएं
LookaheadScopeमेंSubcomposeLayoutके लिए नया डिफ़ॉल्ट व्यवहार. इसकी मदद से,SubcomposeLayoutsके साथ लुकअहेड ऐनिमेशन को बेहतर तरीके से काम करने की अनुमति मिलती है. हालांकि,SubcomposeLayoutsमें कंडीशनल स्लॉट (जैसे किTabRow,Scaffold,BoxWithConstraintsवगैरह) नहीं होने चाहिए.
एपीआई में हुए बदलाव
- नया डिफ़ॉल्ट
intermediateMeasurePolicy, लुकअहेड पास से मेज़रमेंट की नीति का फिर से इस्तेमाल करता है. इससेSubcomposeLayoutके ऐसे सबटाइप बिना शर्त वाले स्लॉट के साथ काम कर पाते हैं जो डिफ़ॉल्ट रूप से लुकअहेड के साथ काम करते हैं. जैसे,Scaffold,TabRow, औरBoxWithConstraints. (Id84c8) - एंट्री और एग्ज़िट ट्रांज़िशन को एक साथ इस्तेमाल करने के लिए, infix fun with का नाम बदलकर
togetherWithकर दिया गया है. कॉन्टेंट लैंबडा के लिए, रिसीवर के तौर पर नयाAnimatedContentScope. (Ic39ae)
वर्शन 1.5.0-alpha02
5 अप्रैल, 2023
androidx.compose.animation:animation-*:1.5.0-alpha02 रिलीज़ हो गया है. वर्शन 1.5.0-alpha02 में ये बदलाव शामिल हैं.
नई सुविधाएं
SubcomposeLayoutमें लुकअहेड की सुविधा के लिए, नया एक्सपेरिमेंटल एपीआई. इससेSubcomposeLayoutकोLookaheadScopeमें ठीक से काम करने की अनुमति मिल जाएगी.SubcomposeLayoutके कुछ सबटाइप के लिए, ज़्यादा बेहतर सहायता जल्द ही उपलब्ध होगी.
एपीआई में हुए बदलाव
- नया
SubcomposeLayoutएपीआई, जो लुकअहेड पर आधारित ऐनिमेशन के दौरान मेज़र/लेआउट लॉजिक को हैंडल करने के लिए, एक अतिरिक्त इंटरमीडिएट मेज़रमेंट नीति का इस्तेमाल करता है. (I017d3)
वर्शन 1.5.0-alpha01
22 मार्च, 2023
androidx.compose.animation:animation-*:1.5.0-alpha01 रिलीज़ हो गया है. वर्शन 1.5.0-alpha01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
AnimatedContentएपीआई अब स्टेबल हैं.AnimatedContentScopeका नाम बदलकरAnimatedContentTransitionScopeकर दिया गया है.scaleInऔरscaleOutअब स्टेबल एपीआई हैं. (Iaf54e)
वर्शन 1.4
वर्शन 1.4.3
3 मई, 2023
androidx.compose.animation:animation:1.4.3, androidx.compose.animation:animation-core:1.4.3, और androidx.compose.animation:animation-graphics:1.4.3 में कोई बदलाव नहीं किया गया है. सिर्फ़ वर्शन को अपडेट किया गया है.
वर्शन 1.4.2
19 अप्रैल, 2023
androidx.compose.animation:animation:1.4.2, androidx.compose.animation:animation-core:1.4.2, और androidx.compose.animation:animation-graphics:1.4.2 को बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.4.2 में ये बदलाव शामिल हैं.
वर्शन 1.4.1
5 अप्रैल, 2023
androidx.compose.animation:animation:1.4.1, androidx.compose.animation:animation-core:1.4.1, और androidx.compose.animation:animation-graphics:1.4.1 को बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.4.1 में ये बदलाव शामिल हैं.
वर्शन 1.4.0
22 मार्च, 2023
androidx.compose.animation:animation:1.4.0, androidx.compose.animation:animation-core:1.4.0, और androidx.compose.animation:animation-graphics:1.4.0 रिलीज़ किए गए हैं. वर्शन 1.4.0 में ये बदलाव शामिल हैं.
1.3.0 के बाद हुए अहम बदलाव
- टूलिंग लेबल, r
ememberInfiniteTransitionऔरInfiniteTransitionऔर ट्रांज़िशन (जैसे किInfiniteTransition#animateColor) पर मौजूद सभी एक्सटेंशन फ़ंक्शन के साथ काम करता है (I56ef7)
वर्शन 1.4.0-rc01
8 मार्च, 2023
androidx.compose.animation:animation:1.4.0-rc01, androidx.compose.animation:animation-core:1.4.0-rc01, और androidx.compose.animation:animation-graphics:1.4.0-rc01 को बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.4.0-rc01 में ये बदलाव शामिल हैं.
वर्शन 1.4.0-beta02
22 फ़रवरी, 2023
androidx.compose.animation:animation:1.4.0-beta02, androidx.compose.animation:animation-core:1.4.0-beta02, और androidx.compose.animation:animation-graphics:1.4.0-beta02 को बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.4.0-beta02 में ये बदलाव शामिल हैं.
वर्शन 1.4.0-beta01
8 फ़रवरी, 2023
androidx.compose.animation:animation:1.4.0-beta01, androidx.compose.animation:animation-core:1.4.0-beta01, और androidx.compose.animation:animation-graphics:1.4.0-beta01 को बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.4.0-beta01 में ये बदलाव शामिल हैं.
वर्शन 1.4.0-alpha05
25 जनवरी, 2023
androidx.compose.animation:animation:1.4.0-alpha05, androidx.compose.animation:animation-core:1.4.0-alpha05, और androidx.compose.animation:animation-graphics:1.4.0-alpha05 रिलीज़ किए गए हैं. वर्शन 1.4.0-alpha05 में ये बदलाव शामिल हैं.
बदलाव
- पिछले ऐल्फ़ा वर्शन के बाद से, ऐनिमेशन लाइब्रेरी में कोई बदलाव नहीं किया गया है. सिर्फ़ वर्शन में बदलाव किया गया है
वर्शन 1.4.0-alpha04
11 जनवरी, 2023
androidx.compose.animation:animation:1.4.0-alpha04, androidx.compose.animation:animation-core:1.4.0-alpha04, और androidx.compose.animation:animation-graphics:1.4.0-alpha04 रिलीज़ किए गए हैं. वर्शन 1.4.0-alpha04 में ये बदलाव शामिल हैं.
नई सुविधाएं
- टूलिंग लेबल,
rememberInfiniteTransitionऔरInfiniteTransitionऔरTransitionपर मौजूद सभी एक्सटेंशन फ़ंक्शन (जैसे,InfiniteTransition#animateColor) में काम करता है (I56ef7)
एपीआई में हुए बदलाव
InfiniteTransition#TransitionAnimationStateऔरInfiniteTransition#animationsएपीआई अब सार्वजनिक तौर पर उपलब्ध हैं. (I36682)
वर्शन 1.4.0-alpha03
7 दिसंबर, 2022
androidx.compose.animation:animation:1.4.0-alpha03, androidx.compose.animation:animation-core:1.4.0-alpha03, और androidx.compose.animation:animation-graphics:1.4.0-alpha03 रिलीज़ किए गए हैं. वर्शन 1.4.0-alpha03 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- Compose नियम का इस्तेमाल करके की जाने वाली यूआई जांचों में,
withFrameNanosकॉलबैक के दौरान फिर से शुरू किए गए कंटीन्यूएशन तब तक डिस्पैच नहीं किए जाएंगे, जब तक सभी फ़्रेम कॉलबैक पूरे नहीं हो जाते. ऐसा सामान्य तौर पर कंपोज़ करने के तरीके में भी होता है. हालांकि, पुरानी सुविधा पर निर्भर रहने वाले टेस्ट फ़ेल हो सकते हैं. इससे सिर्फ़ उस कोड पर असर पड़ेगा जो सीधे तौर परwithFrameNanosयाwithFrameMillisको कॉल करता है. साथ ही, इसमें उन फ़ंक्शन को पास किए गए कॉलबैक के बाहर का लॉजिक होता है जिसे कॉलबैक के अंदर ले जाने की ज़रूरत पड़ सकती है. उदाहरणों के लिए, इस सीएल में ऐनिमेशन टेस्ट में किए गए बदलाव देखें. TestMonotonicFrameClockकंस्ट्रक्टर और फ़ैक्ट्री फ़ंक्शन में,onPerformTraversals: (Long) -> Unitपैरामीटर जोड़ा गया है. इससेwithFrameNanosकॉलबैक के बाद और कॉलर की को-रूटीन फिर से शुरू होने से पहले कोड चलाया जा सकता है. (Idb413, b/254115946, b/222093277, b/255802670)- टूलिंग लेबल (Iebe2d) के लिए,
AnimatedContentमें नया पैरामीटर
वर्शन 1.4.0-alpha02
9 नवंबर, 2022
androidx.compose.animation:animation:1.4.0-alpha02, androidx.compose.animation:animation-core:1.4.0-alpha02, और androidx.compose.animation:animation-graphics:1.4.0-alpha02 रिलीज़ किए गए हैं. वर्शन 1.4.0-alpha02 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
ToolingStateजोड़ें, ताकि टूलिंग, कंपोज़ेबल की इंटरनल स्थितियों को बदल सके (Ie6614)
वर्शन 1.4.0-alpha01
24 अक्टूबर, 2022
androidx.compose.animation:animation:1.4.0-alpha01, androidx.compose.animation:animation-core:1.4.0-alpha01, और androidx.compose.animation:animation-graphics:1.4.0-alpha01 रिलीज़ किए गए हैं. वर्शन 1.4.0-alpha01 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- AnimatedContent में, इंटरप्ट करने वाले गलत ऐनिमेशन को ठीक किया गया (b/238662479)
वर्शन 1.3
वर्शन 1.3.3
11 जनवरी, 2023
androidx.compose.animation:animation:1.3.3, androidx.compose.animation:animation-core:1.3.3, और androidx.compose.animation:animation-graphics:1.3.3 रिलीज़ किए गए हैं. वर्शन 1.3.3 में ये बदलाव शामिल हैं.
- 1.3.2 के बाद से कोई बदलाव नहीं हुआ है.
वर्शन 1.3.2
7 दिसंबर, 2022
androidx.compose.animation:animation:1.3.2, androidx.compose.animation:animation-core:1.3.2, और androidx.compose.animation:animation-graphics:1.3.2 रिलीज़ किए गए हैं. वर्शन 1.3.2 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- androidx.compose.ui 1.3.2 के साथ काम करने के लिए अपडेट किया गया
वर्शन 1.3.1
9 नवंबर, 2022
androidx.compose.animation:animation:1.3.1, androidx.compose.animation:animation-core:1.3.1, और androidx.compose.animation:animation-graphics:1.3.1 रिलीज़ किए गए हैं. वर्शन 1.3.1 में ये बदलाव शामिल हैं.
वर्शन 1.3.0
24 अक्टूबर, 2022
androidx.compose.animation:animation:1.3.0, androidx.compose.animation:animation-core:1.3.0, और androidx.compose.animation:animation-graphics:1.3.0 रिलीज़ किए गए हैं. वर्शन 1.3.0 में ये बदलाव शामिल हैं.
1.2.0 के बाद हुए ज़रूरी बदलाव
- नए ईज़िंग फ़ंक्शन का सेट अब स्थिर हो गया है
वर्शन 1.3.0-rc01
5 अक्टूबर, 2022
androidx.compose.animation:animation:1.3.0-rc01, androidx.compose.animation:animation-core:1.3.0-rc01, और androidx.compose.animation:animation-graphics:1.3.0-rc01 रिलीज़ किए गए हैं. वर्शन 1.3.0-rc01 में ये बदलाव शामिल हैं.
वर्शन 1.3.0-beta03
21 सितंबर, 2022
androidx.compose.animation:animation:1.3.0-beta03, androidx.compose.animation:animation-core:1.3.0-beta03, और androidx.compose.animation:animation-graphics:1.3.0-beta03 रिलीज़ किए गए हैं. वर्शन 1.3.0-beta03 में ये बदलाव शामिल हैं.
- 1.3.0-beta02 के बाद से कोई बदलाव नहीं किया गया है.
वर्शन 1.3.0-beta02
7 सितंबर, 2022
androidx.compose.animation:animation:1.3.0-beta02, androidx.compose.animation:animation-core:1.3.0-beta02, और androidx.compose.animation:animation-graphics:1.3.0-beta02 रिलीज़ किए गए हैं. वर्शन 1.3.0-beta02 में ये बदलाव शामिल हैं.
- कंपाइलर के विकल्पों से Kotlin.experimental को हटाया गया, क्योंकि अब इसका इस्तेमाल नहीं किया जा सकता
वर्शन 1.3.0-beta01
24 अगस्त, 2022
androidx.compose.animation:animation:1.3.0-beta01, androidx.compose.animation:animation-core:1.3.0-beta01, और androidx.compose.animation:animation-graphics:1.3.0-beta01 रिलीज़ किए गए हैं. वर्शन 1.3.0-beta01 में ये बदलाव शामिल हैं.
वर्शन 1.3.0-alpha03
10 अगस्त, 2022
androidx.compose.animation:animation:1.3.0-alpha03, androidx.compose.animation:animation-core:1.3.0-alpha03, और androidx.compose.animation:animation-graphics:1.3.0-alpha03 रिलीज़ किए गए हैं. वर्शन 1.3.0-alpha03 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- टूलिंग लेबल (Iac08a) के लिए,
Crossfade,animateAsState, औरAnimatableमें नया पैरामीटर atFractionफ़ंक्शन जोड़ा गया है. इसकी मदद से, मुख्य फ़्रेम को किसी तय अवधि के बजाय किसी फ़्रैक्शन पर सेट किया जा सकता है. (I20c76, b/232059455)
वर्शन 1.3.0-alpha02
27 जुलाई, 2022
androidx.compose.animation:animation:1.3.0-alpha02, androidx.compose.animation:animation-core:1.3.0-alpha02, और androidx.compose.animation:animation-graphics:1.3.0-alpha02 रिलीज़ किए गए हैं. वर्शन 1.3.0-alpha02 में ये बदलाव शामिल हैं.
वर्शन 1.3.0-alpha01
29 जून, 2022
androidx.compose.animation:animation:1.3.0-alpha01, androidx.compose.animation:animation-core:1.3.0-alpha01, और androidx.compose.animation:animation-graphics:1.3.0-alpha01 रिलीज़ किए गए हैं. वर्शन 1.3.0-alpha01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- नया
LookaheadLayout, जो मेज़र/लेआउट से पहले लुकअहेड पास की सुविधा देता है. इससे लेआउट में बदलाव होने पर, उसकी पहले से गणना की जा सकती है. साथ ही, पोस्ट-लुकअहेड मेज़रमेंट/लेआउट को पहले से कैलकुलेट किए गए साइज़/जगह का इस्तेमाल करने की अनुमति मिलती है, ताकि साइज़ और जगहों को टारगेट की ओर ऐनिमेशन किया जा सके.SubcomposeLayoutsफ़िलहाल काम नहीं करते हैं. हालांकि, आने वाले समय में इसकी सुविधा उपलब्ध होगी. (I477f5)
वर्शन 1.2
वर्शन 1.2.1
10 अगस्त, 2022
androidx.compose.animation:animation:1.2.1, androidx.compose.animation:animation-core:1.2.1, और androidx.compose.animation:animation-graphics:1.2.1 रिलीज़ किए गए हैं. वर्शन 1.2.1 में ये बदलाव शामिल हैं.
वर्शन 1.2.0
27 जुलाई, 2022
androidx.compose.animation:animation:1.2.0, androidx.compose.animation:animation-core:1.2.0, और androidx.compose.animation:animation-graphics:1.2.0 रिलीज़ किए गए हैं. वर्शन 1.2.0 में ये बदलाव शामिल हैं.
1.1.0 के बाद हुए अहम बदलाव
- Compose ऐनिमेशन में अब डेवलपर विकल्पों में मौजूद 'ऐनिमेटर अवधि स्केल' सेटिंग काम करती है.
- एक्सपेरिमेंट के तौर पर, ईज़िंग कर्व के कई नए विकल्प उपलब्ध हैं.
AnimatedImageVectorअबrepeatCountऔरrepeatModeके साथ काम करता है
वर्शन 1.2.0-rc03
29 जून, 2022
androidx.compose.animation:animation:1.2.0-rc03, androidx.compose.animation:animation-core:1.2.0-rc03, और androidx.compose.animation:animation-graphics:1.2.0-rc03 रिलीज़ किए गए हैं. वर्शन 1.2.0-rc03 में ये बदलाव शामिल हैं.
- 1.2.0-rc02 के बाद से कोई बदलाव नहीं किया गया है.
वर्शन 1.2.0-rc02
22 जून, 2022
androidx.compose.animation:animation:1.2.0-rc02, androidx.compose.animation:animation-core:1.2.0-rc02, और androidx.compose.animation:animation-graphics:1.2.0-rc02 रिलीज़ किए गए हैं. वर्शन 1.2.0-rc02 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- ईज़िंग फ़ंक्शन (Ied441) पर
ExperimentalEasingApiएनोटेशन हटाया गया
वर्शन 1.2.0-rc01
15 जून, 2022
androidx.compose.animation:animation:1.2.0-rc01, androidx.compose.animation:animation-core:1.2.0-rc01, और androidx.compose.animation:animation-graphics:1.2.0-rc01 रिलीज़ किए गए हैं. वर्शन 1.2.0-rc01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- Compose लाइब्रेरी में इंटरफ़ेस अब jdk8 के डिफ़ॉल्ट इंटरफ़ेस के तरीकों (I5bcf1) का इस्तेमाल करके बनाए जाते हैं
वर्शन 1.2.0-beta03
1 जून, 2022
androidx.compose.animation:animation:1.2.0-beta03, androidx.compose.animation:animation-core:1.2.0-beta03, और androidx.compose.animation:animation-graphics:1.2.0-beta03 रिलीज़ किए गए हैं. वर्शन 1.2.0-beta03 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- ऐनिमेशन के लिए, एक्सपेरिमेंट के तौर पर ईज़िंग कर्व जोड़े गए (I64a38)
वर्शन 1.2.0-beta02
18 मई, 2022
androidx.compose.animation:animation:1.2.0-beta02, androidx.compose.animation:animation-core:1.2.0-beta02, और androidx.compose.animation:animation-graphics:1.2.0-beta02 रिलीज़ किए गए हैं. वर्शन 1.2.0-beta02 में ये बदलाव शामिल हैं.
वर्शन 1.2.0-beta01
11 मई, 2022
androidx.compose.animation:animation:1.2.0-beta01, androidx.compose.animation:animation-core:1.2.0-beta01, और androidx.compose.animation:animation-graphics:1.2.0-beta01 रिलीज़ किए गए हैं. वर्शन 1.2.0-beta01 में ये बदलाव शामिल हैं.
- यह 1.2 का पहला बीटा वर्शन है! पिछले ऐल्फ़ा वर्शन के बाद से कोई बदलाव नहीं हुआ है.
वर्शन 1.2.0-alpha08
20 अप्रैल, 2022
androidx.compose.animation:animation:1.2.0-alpha08, androidx.compose.animation:animation-core:1.2.0-alpha08, और androidx.compose.animation:animation-graphics:1.2.0-alpha08 रिलीज़ किए गए हैं. वर्शन 1.2.0-alpha08 में ये बदलाव शामिल हैं.
वर्शन 1.2.0-alpha07
6 अप्रैल, 2022
androidx.compose.animation:animation:1.2.0-alpha07, androidx.compose.animation:animation-core:1.2.0-alpha07, और androidx.compose.animation:animation-graphics:1.2.0-alpha07 रिलीज़ किए गए हैं. वर्शन 1.2.0-alpha07 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
AnimatedImageVectorअबrepeatCountऔरrepeatModeके साथ काम करता है (Ia3e75, b/199304067)
वर्शन 1.2.0-alpha06
23 मार्च, 2022
androidx.compose.animation:animation:1.2.0-alpha06, androidx.compose.animation:animation-core:1.2.0-alpha06, और androidx.compose.animation:animation-graphics:1.2.0-alpha06 रिलीज़ किए गए हैं. वर्शन 1.2.0-alpha06 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- वेक्टर ड्रॉएबल को पार्स करने की सुविधा को अपडेट किया गया है. इससे, लेआउट की मौजूदा दिशा आरटीएल होने पर,
VectorPainterके कॉन्टेंट को अपने-आप फ़्लिप करने की सुविधा काम करेगी. (I79cd9, b/185760237)
गड़बड़ियां ठीक की गईं
- वेक्टर ग्राफ़िक्स एपीआई को अपडेट किया गया है, ताकि
@UiComposableके बजाय सही कंपोज़ेबल एनोटेशन@VectorComposableका इस्तेमाल किया जा सके (I942bc)
वर्शन 1.2.0-alpha05
9 मार्च, 2022
androidx.compose.animation:animation:1.2.0-alpha05, androidx.compose.animation:animation-core:1.2.0-alpha05, और androidx.compose.animation:animation-graphics:1.2.0-alpha05 रिलीज़ किए गए हैं. वर्शन 1.2.0-alpha05 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- हुर्रे! Compose ऐनिमेशन अब डेवलपर विकल्पों में मौजूद 'ऐनिमेटर अवधि स्केल' सेटिंग के साथ काम करता है. (I5a4fc, b/161675988)
वर्शन 1.2.0-alpha04
23 फ़रवरी, 2022
androidx.compose.animation:animation:1.2.0-alpha04, androidx.compose.animation:animation-core:1.2.0-alpha04, और androidx.compose.animation:animation-graphics:1.2.0-alpha04 रिलीज़ किए गए हैं. वर्शन 1.2.0-alpha04 में ये बदलाव शामिल हैं.
वर्शन 1.2.0-alpha03
9 फ़रवरी, 2022
androidx.compose.animation:animation:1.2.0-alpha03, androidx.compose.animation:animation-core:1.2.0-alpha03, और androidx.compose.animation:animation-graphics:1.2.0-alpha03 रिलीज़ किए गए हैं. वर्शन 1.2.0-alpha03 में ये बदलाव शामिल हैं.
वर्शन 1.2.0-alpha02
26 जनवरी, 2022
androidx.compose.animation:animation:1.2.0-alpha02, androidx.compose.animation:animation-core:1.2.0-alpha02, और androidx.compose.animation:animation-graphics:1.2.0-alpha02 रिलीज़ किए गए हैं. वर्शन 1.2.0-alpha02 में ये बदलाव शामिल हैं.
वर्शन 1.2.0-alpha01
12 जनवरी, 2022
androidx.compose.animation:animation:1.2.0-alpha01, androidx.compose.animation:animation-core:1.2.0-alpha01, और androidx.compose.animation:animation-graphics:1.2.0-alpha01 रिलीज़ किए गए हैं. वर्शन 1.2.0-alpha01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
<animated-vector>रिसॉर्स फ़ाइल लोड करने के लिए,animatedVectorResourceके बजायAnimatedImageVector.animatedVectorResourceका इस्तेमाल करें.AnimatedImageVectorको रेंडर करने के लिए,AnimatedImageVector#painterForके बजायrememberAnimatedVectorResourceका इस्तेमाल करें. (I9c300)
गड़बड़ियां ठीक की गईं
- Animatable और AnimationResult में toString तरीके जोड़े गए. (Icd3a6)
डिपेंडेंसी से जुड़े अपडेट
- अब Kotlin
1.6.10पर निर्भर करता है.
वर्शन 1.1
वर्शन 1.1.1
23 फ़रवरी, 2022
androidx.compose.animation:animation:1.1.1, androidx.compose.animation:animation-core:1.1.1, और androidx.compose.animation:animation-graphics:1.1.1 रिलीज़ किए गए हैं. वर्शन 1.1.1 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
NullPointerExceptionकोandroidx.compose.ui.platform.RenderNodeLayer.updateDisplayListपर ठीक करें (aosp/1947059, b/206677462)- Android पर क्लिपबोर्ड से कॉन्टेंट पढ़ते समय, क्लिपबोर्ड में मौजूद कॉन्टेंट की वजह से ऐप्लिकेशन क्रैश होने की समस्या को ठीक किया गया है. (I06020, b/197769306)
LazyVerticalGridमें आरटीएल की समस्या ठीक की गई (aosp/1931080, b/207510535)
वर्शन 1.1.0
9 फ़रवरी, 2022
androidx.compose.animation:animation:1.1.0, androidx.compose.animation:animation-core:1.1.0, और androidx.compose.animation:animation-graphics:1.1.0 रिलीज़ किए गए हैं. वर्शन 1.1.0 में ये बदलाव शामिल हैं.
1.0.0 के बाद हुए अहम बदलाव
- Android 12 के ओवरस्क्रॉल इफ़ेक्ट के लिए स्टेबल सपोर्ट
- टच टारगेट के साइज़ में सुधार
- ध्यान दें कि Compose 1.0 के हिसाब से, मटीरियल कॉम्पोनेंट, लेआउट स्पेस को बढ़ाएंगे, ताकि टच टारगेट साइज़ के लिए, मटीरियल सुलभता के दिशा-निर्देशों का पालन किया जा सके. उदाहरण के लिए, अगर आपने बटन का साइज़ छोटा सेट किया है, तब भी बटन का टच टारगेट कम से कम 48x48dp तक बढ़ जाएगा. इससे Compose Material, Material Design Components के साथ काम करता है. साथ ही, Views और Compose को एक साथ इस्तेमाल करने पर, एक जैसा अनुभव मिलता है. इस बदलाव से यह भी पक्का होता है कि Compose Material कॉम्पोनेंट का इस्तेमाल करके यूज़र इंटरफ़ेस (यूआई) बनाते समय, टच टारगेट की ऐक्सेसिबिलिटी से जुड़ी ज़रूरी शर्तें पूरी हों.
- नेविगेशन रेल के लिए स्टेबल सपोर्ट
- यह एक्सपेरिमेंट के तौर पर उपलब्ध कई एपीआई को स्टेबल वर्शन में बदलता है
- Kotlin के नए वर्शन के लिए सहायता
वर्शन 1.1.0-rc03
26 जनवरी, 2022
androidx.compose.animation:animation:1.1.0-rc03, androidx.compose.animation:animation-core:1.1.0-rc03, और androidx.compose.animation:animation-graphics:1.1.0-rc03 रिलीज़ किए गए हैं. वर्शन 1.1.0-rc03 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- Compose Material 1.1.0-rc03 के साथ काम करने के लिए अपडेट किया गया
वर्शन 1.1.0-rc01
15 दिसंबर, 2021
androidx.compose.animation:animation:1.1.0-rc01 और androidx.compose.animation:animation-core:1.1.0-rc01 रिलीज़ हो गए हैं. वर्शन 1.1.0-rc01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
<animated-vector>रिसॉर्स फ़ाइल लोड करने के लिए,animatedVectorResourceके बजायAnimatedImageVector.animatedVectorResourceका इस्तेमाल करें.AnimatedImageVectorको रेंडर करने के लिए,AnimatedImageVector#painterForके बजायrememberAnimatedVectorResourceका इस्तेमाल करें. (I9c300)
वर्शन 1.1.0-beta04
1 दिसंबर, 2021
androidx.compose.animation:animation:1.1.0-beta04, androidx.compose.animation:animation-core:1.1.0-beta04, और androidx.compose.animation:animation-graphics:1.1.0-beta04 रिलीज़ किए गए हैं. वर्शन 1.1.0-beta04 में ये बदलाव शामिल हैं.
नई सुविधाएं
- Kotlin
1.6.0के साथ काम करने के लिए अपडेट किया गया
वर्शन 1.1.0-beta03
17 नवंबर, 2021
androidx.compose.animation:animation:1.1.0-beta03, androidx.compose.animation:animation-core:1.1.0-beta03, और androidx.compose.animation:animation-graphics:1.1.0-beta03 रिलीज़ किए गए हैं. वर्शन 1.1.0-beta03 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- प्लेसमेंट में बदलाव को मॉनिटर करने के लिए, नया मॉडिफ़ायर Modifier.onPlaced जोड़ा गया. इसलिए, प्लेसमेंट में हुए बदलाव के आधार पर, चाइल्ड मॉडिफ़ायर के ऑफ़सेट में अन्य बदलाव किए जा सकते हैं. (I558fd)
क्रॉसफ़ेड में contentKey के लिए नया सपोर्ट. ContentKey का इस्तेमाल, ऐनिमेशन सिस्टम यह जांचने के लिए करेगा कि कॉन्टेंट एक जैसा है या नहीं. इसलिए, अलग-अलग स्थितियों के लिए सही contentKey तय करके, स्थितियों के हिसाब से कस्टम डिफ़िंग की जा सकती है.
ContentKey का इस्तेमाल, कॉन्टेंट को सेव और वापस लाने के लिए भी किया जाएगा. (I2e055, b/197907070)
वर्शन 1.1.0-beta02
3 नवंबर, 2021
androidx.compose.animation:animation:1.1.0-beta02, androidx.compose.animation:animation-core:1.1.0-beta02, और androidx.compose.animation:animation-graphics:1.1.0-beta02 रिलीज़ किए गए हैं. वर्शन 1.1.0-beta02 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- टूलिंग के लिए नए ऐनिमेशन एपीआई. खास तौर पर, ये टूल को ट्रांज़िशन में ऐनिमेशन और उनके कॉन्फ़िगरेशन की जांच करने की अनुमति देते हैं. (I4116e)
वर्शन 1.1.0-beta01
27 अक्टूबर, 2021
androidx.compose.animation:animation:1.1.0-beta01, androidx.compose.animation:animation-core:1.1.0-beta01, और androidx.compose.animation:animation-graphics:1.1.0-beta01 रिलीज़ किए गए हैं. वर्शन 1.1.0-beta01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- टूलिंग के लिए नए ऐनिमेशन एपीआई. खास तौर पर, ये टूल को ट्रांज़िशन में ऐनिमेशन और उनके कॉन्फ़िगरेशन की जांच करने की अनुमति देते हैं. (I4116e)
वर्शन 1.1.0-alpha06
13 अक्टूबर, 2021
androidx.compose.animation:animation:1.1.0-alpha06, androidx.compose.animation:animation-core:1.1.0-alpha06, और androidx.compose.animation:animation-graphics:1.1.0-alpha06 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha06 में ये बदलाव शामिल हैं.
वर्शन 1.1.0-alpha05
29 सितंबर, 2021
androidx.compose.animation:animation:1.1.0-alpha05, androidx.compose.animation:animation-core:1.1.0-alpha05, और androidx.compose.animation:animation-graphics:1.1.0-alpha05 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha05 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
EnterTransition,ExitTransition, औरAnimatedVisibilityएपीआई के कुछ वर्शन को स्टेबल बना दिया गया है.MutableTransitionState.isIdleअब एक्सपेरिमेंट के तौर पर उपलब्ध नहीं है. (I5072d)बदलाव: Enter/ExitTransition फ़ैक्ट्रियों में लैम्डा को पैरामीटर की सूची में आखिरी पोज़िशन पर ले जाया गया है. (I5072d)
वर्शन 1.1.0-alpha04
15 सितंबर, 2021
androidx.compose.animation:animation:1.1.0-alpha04, androidx.compose.animation:animation-core:1.1.0-alpha04, और androidx.compose.animation:animation-graphics:1.1.0-alpha04 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha04 में ये बदलाव शामिल हैं.
वर्शन 1.1.0-alpha03
1 सितंबर, 2021
androidx.compose.animation:animation:1.1.0-alpha03, androidx.compose.animation:animation-core:1.1.0-alpha03, और androidx.compose.animation:animation-graphics:1.1.0-alpha03 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha03 में ये बदलाव शामिल हैं.
नई सुविधाएं
- Compose
1.1.0-alpha03को Kotlin1.5.30पर निर्भर रहने के लिए अपडेट किया गया. (I74545)
वर्शन 1.1.0-alpha02
18 अगस्त, 2021
androidx.compose.animation:animation:1.1.0-alpha02, androidx.compose.animation:animation-core:1.1.0-alpha02, और androidx.compose.animation:animation-graphics:1.1.0-alpha02 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha02 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- StartOffset को अब repeatable और infiniteRepeatable में इस्तेमाल किया जा सकता है. इससे ऐनिमेशन शुरू होने में देरी की जा सकती है या ऐनिमेशन शुरू होने से पहले उसे फ़ास्ट फ़ॉरवर्ड किया जा सकता है. यह स्टार्ट ऑफ़सेट दोहराया नहीं जाएगा (Ic679f, b/195079908)
- स्केल के लिए, नया एंटर/एग्ज़िट ट्रांज़िशन. इसका इस्तेमाल, एंटर/एक्ज़िट ट्रांज़िशन के अन्य टाइप के साथ किया जा सकता है. (I372da, b/191325593)
वर्शन 1.1.0-alpha01
4 अगस्त, 2021
androidx.compose.animation:animation:1.1.0-alpha01, androidx.compose.animation:animation-core:1.1.0-alpha01, और androidx.compose.animation:animation-graphics:1.1.0-alpha01 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
AnimatedImageVectorऔर इससे जुड़े एपीआई अब नएandroidx.compose.animation:animation-graphicsमॉड्यूल में हैं. (I60873)
गड़बड़ियां ठीक की गईं
InfiniteAnimationPolicyको :compose:ui (I5eb09, b/160602714) पर ले जाया गया
वर्शन 1.0
वर्शन 1.0.5
3 नवंबर, 2021
androidx.compose.animation:animation:1.0.5 और androidx.compose.animation:animation-core:1.0.5 रिलीज़ हो गए हैं. वर्शन 1.0.5 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- derivedStateOf इंस्टेंस को ट्रैक करने के दौरान क्रैश होने की समस्या ठीक की गई. (aosp/1792247)
वर्शन 1.0.4
13 अक्टूबर, 2021
androidx.compose.animation:animation:1.0.4 और androidx.compose.animation:animation-core:1.0.4 रिलीज़ हो गए हैं. वर्शन 1.0.4 में ये बदलाव शामिल हैं.
डिपेंडेंसी से जुड़े अपडेट
- Kotlin
1.5.31पर निर्भर रहने के लिए अपडेट किया गया
वर्शन 1.0.3
29 सितंबर, 2021
androidx.compose.animation:animation:1.0.3 और androidx.compose.animation:animation-core:1.0.3 रिलीज़ हो गए हैं. वर्शन 1.0.3 में ये बदलाव शामिल हैं.
डिपेंडेंसी से जुड़े अपडेट
- Kotlin
1.5.30पर निर्भर रहने के लिए अपडेट किया गया
वर्शन 1.0.2
1 सितंबर, 2021
androidx.compose.animation:animation:1.0.2 और androidx.compose.animation:animation-core:1.0.2 रिलीज़ हो गए हैं. वर्शन 1.0.2 में ये बदलाव शामिल हैं.
Compose 1.0.2 के रिलीज़ किए गए वर्शन के साथ काम करने के लिए अपडेट किया गया. Compose 1.0.2 अब भी Kotlin 1.5.21 के साथ काम करता है.
वर्शन 1.0.1
4 अगस्त, 2021
androidx.compose.animation:animation:1.0.1 और androidx.compose.animation:animation-core:1.0.1 रिलीज़ हो गए हैं. वर्शन 1.0.1 में ये बदलाव शामिल हैं.
डिपेंडेंसी से जुड़े अपडेट
- Kotlin
1.5.21पर निर्भर रहने के लिए अपडेट किया गया.
वर्शन 1.0.0
28 जुलाई, 2021
androidx.compose.animation:animation:1.0.0 और androidx.compose.animation:animation-core:1.0.0 रिलीज़ हो गए हैं. वर्शन 1.0.0 में ये बदलाव शामिल हैं.
1.0.0 वर्शन की मुख्य सुविधाएं
यह Compose का पहला स्टेबल वर्शन है. ज़्यादा जानकारी के लिए, कृपया Compose रिलीज़ का आधिकारिक ब्लॉग देखें!
मौजूदा समस्याएं
अगर Android Studio Bumblebee Canary 4 या AGP
7.1.0-alpha04/7.1.0-alpha05का इस्तेमाल किया जा रहा है, तो आपको यह क्रैश दिख सकता है:java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"इस समस्या को ठीक करने के लिए, अपनी
build.gradleफ़ाइल में minSdkVersion को कुछ समय के लिए 24 या उससे ज़्यादा पर सेट करें. इस समस्या को Android Studio Bumblebee और AGP7.1के अगले वर्शन में ठीक कर दिया जाएगा. (b/194289155)
वर्शन 1.0.0-rc02
14 जुलाई, 2021
androidx.compose.animation:animation:1.0.0-rc02 और androidx.compose.animation:animation-core:1.0.0-rc02 रिलीज़ हो गए हैं. वर्शन 1.0.0-rc02 में ये बदलाव शामिल हैं.
वर्शन 1.0.0-rc01
1 जुलाई, 2021
androidx.compose.animation:animation:1.0.0-rc01 और androidx.compose.animation:animation-core:1.0.0-rc01 रिलीज़ हो गए हैं. वर्शन 1.0.0-rc01 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
InfiniteAnimationPolicyकोandroidx.compose.ui:uiमें ले जाया गया (I5eb09, b/160602714)
वर्शन 1.0.0-beta09
16 जून, 2021
androidx.compose.animation:animation:1.0.0-beta09 और androidx.compose.animation:animation-core:1.0.0-beta09 रिलीज़ हो गए हैं. वर्शन 1.0.0-beta09 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- नया
AnimatedContentकंपोज़ेबल. यह अपने कॉन्टेंट में बदलावों को मैनेज करता है. इसके लिए, यहContentTransformको पसंद के मुताबिक बनाता है. ऐसा तब होता है, जब नया टारगेट कॉन्टेंट दिखता है और शुरुआती कॉन्टेंट हट जाता है. एंट्री और एग्ज़िट ट्रांज़िशन के अलग-अलग कॉम्बिनेशन का इस्तेमाल करके, स्लाइड को पसंद के मुताबिक बनाया जा सकता है. कॉन्टेंट ट्रांसफ़ॉर्म के तौर पर,AnimatedContentआने वाले कॉन्टेंट के हिसाब से अपने साइज़ को अपने-आप ऐनिमेट करता है. (I2c3df) ManualFrameClockको हटा दिया गया है. अगर आपको ऐनिमेशन कंट्रोल करने हैं, तोcomposeTestRule.mainClockका इस्तेमाल करें. (I3c3e8, b/189951065)
प्रोफ़ाइल के नियम जोड़े गए
इस रिलीज़ में, कंपोज़ मॉड्यूल (I14ed6) में प्रोफ़ाइल के नियम जोड़े गए हैं:
- androidx.compose.animation
- androidx.compose.animation-core
- androidx.compose.foundation
- androidx.compose.foundation-layout
- androidx.compose.material
- androidx.compose.material-ripple
- androidx.compose.runtime
- androidx.compose.ui
- androidx.compose.ui.geometry
- androidx.compose.ui.graphics
- androidx.compose.ui.text
- androidx.compose.ui.text
- androidx.compose.ui.unit
- androidx.compose.ui.util
प्रोफ़ाइल के नियम क्या होते हैं?
किसी लाइब्रेरी के लिए प्रोफ़ाइल के नियम,
src/mainया उससे मिलती-जुलती डायरेक्ट्री में मौजूद टेक्स्ट फ़ाइलbaseline-prof.txtमें तय किए जाते हैं. फ़ाइल में हर लाइन के लिए एक नियम तय किया जाता है. इस मामले में, नियम एक ऐसा पैटर्न होता है जिसका इस्तेमाल लाइब्रेरी में मौजूद तरीकों या क्लास से मिलान करने के लिए किया जाता है. इन नियमों का सिंटैक्स, एआरटी प्रोफ़ाइल के ऐसे फ़ॉर्मैट का सुपरसेट होता है जिसे आसानी से पढ़ा जा सकता है. इसका इस्तेमालadb shell profman --dump-classes-and-methods ...का इस्तेमाल करते समय किया जाता है. ये नियम, तरीकों या क्लास को टारगेट करने के लिए दो में से किसी एक फ़ॉर्म में होते हैं.किसी तरीके के नियम का पैटर्न इस तरह होगा:
<FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>क्लास के नियम इस पैटर्न में होंगे:
<CLASS_DESCRIPTOR>यहां
<FLAGS>,H,S, औरPमें से एक या उससे ज़्यादा वर्ण हैं. इनसे यह पता चलता है कि इस तरीके को "हॉट", "स्टार्टअप" या "पोस्ट स्टार्टअप" के तौर पर फ़्लैग किया जाना चाहिए या नहीं.<CLASS_DESCRIPTOR>उस क्लास का डिस्क्रिप्टर है जिससे टारगेट किया गया तरीका जुड़ा है. उदाहरण के लिए, क्लासandroidx.compose.runtime.SlotTableका डिस्क्रिप्टरLandroidx/compose/runtime/SlotTable;होगा.<METHOD_SIGNATURE>, मेथड का सिग्नेचर होता है. इसमें मेथड का नाम, पैरामीटर टाइप, और रिटर्न टाइप शामिल होते हैं. उदाहरण के लिए,LayoutNodeपर मौजूदfun isPlaced(): Booleanतरीके का सिग्नेचरisPlaced()Zहै.इन पैटर्न में वाइल्डकार्ड (
**,*, और?) हो सकते हैं, ताकि एक नियम में कई तरीके या क्लास शामिल हों.
नियमों से क्या होता है?
जिस तरीके में
Hफ़्लैग होता है उससे पता चलता है कि यह "हॉट" तरीका है. इसे पहले से ही कंपाइल किया जाना चाहिए.Sफ़्लैग वाली किसी भी विधि का मतलब है कि इसे स्टार्टअप के समय कॉल किया जाता है. इसलिए, इसे पहले से कंपाइल किया जाना चाहिए, ताकि स्टार्टअप के समय कंपाइल करने और समझने में लगने वाले समय को बचाया जा सके.जिस तरीके में
Pफ़्लैग होता है वह स्टार्टअप के बाद कॉल किया जाता है.इस फ़ाइल में मौजूद क्लास से पता चलता है कि इसका इस्तेमाल स्टार्टअप के दौरान किया जाता है. इसलिए, इसे हीप में पहले से ही असाइन कर दिया जाना चाहिए, ताकि क्लास लोडिंग की लागत से बचा जा सके.
यह कैसे काम करता है?
- लाइब्रेरी इन नियमों को तय कर सकती हैं. ये नियम, एएआर आर्टफ़ैक्ट में शामिल किए जाएंगे. जब इन आर्टफ़ैक्ट को शामिल करके कोई ऐप्लिकेशन बनाया जाता है, तो इन नियमों को एक साथ मर्ज कर दिया जाता है. इसके बाद, मर्ज किए गए नियमों का इस्तेमाल करके, ऐप्लिकेशन के लिए एक कॉम्पैक्ट बाइनरी एआरटी प्रोफ़ाइल बनाई जाती है. जब ऐप्लिकेशन को डिवाइसों पर इंस्टॉल किया जाता है, तब एआरटी इस प्रोफ़ाइल का इस्तेमाल कर सकता है. इससे ऐप्लिकेशन के किसी खास सबसेट को पहले से कंपाइल किया जा सकता है, ताकि ऐप्लिकेशन की परफ़ॉर्मेंस को बेहतर बनाया जा सके. खास तौर पर, पहली बार ऐप्लिकेशन चलाने पर. ध्यान दें कि इससे डीबग किए जा सकने वाले ऐप्लिकेशन पर कोई असर नहीं पड़ेगा.
वर्शन 1.0.0-beta08
2 जून, 2021
androidx.compose.animation:animation:1.0.0-beta08 और androidx.compose.animation:animation-core:1.0.0-beta08 रिलीज़ हो गए हैं. वर्शन 1.0.0-beta08 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- अब
detectDragGesures,detectVerticalGestures, औरdetectHorizontalGestures, अपने-आप जगह बदलने की सुविधा का इस्तेमाल करेंगे. इसलिए, onDrag कॉलबैक (I42fc4, b/185096350, b/187320697) में change.consumePositionChange को कॉल करने की ज़रूरत नहीं है Modifier.onGloballyPositioned()को बदलकर, इस मॉडिफ़ायर के कोऑर्डिनेट को मॉडिफ़ायर चेन में रिपोर्ट करने के लिए इस्तेमाल किया गया. इससे सभी मॉडिफ़ायर लागू करने के बाद, लेआउट के कोऑर्डिनेट रिपोर्ट नहीं किए जाते. इसका मतलब है कि अब मॉडिफ़ायर के क्रम से यह तय होगा कि कौनसे कोऑर्डिनेट रिपोर्ट किए जाएंगे. (Ieb67d, b/177926591)
वर्शन 1.0.0-beta07
18 मई, 2021
androidx.compose.animation:animation:1.0.0-beta07 और androidx.compose.animation:animation-core:1.0.0-beta07 रिलीज़ हो गए हैं. वर्शन 1.0.0-beta07 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- नया
AnimatedVisibilityएपीआई, जोMutableTransitionStateमें दिखने की स्थिति तय करने की सुविधा देता है. इससे,currentStateऔरisIdleके ज़रिए,AnimatedVisibilityसे बाहर की ऐनिमेशन स्थितियों को भी देखा जा सकता है.- Transition में बच्चे के नए ट्रांज़िशन के लिए सहायता
- AnimationScope.transition का इस्तेमाल करके, AnimatedVisibility में कस्टम एग्ज़िट/एंटर ट्रांज़िशन ऐनिमेशन की सुविधा जोड़ी गई
- AnimatedVisibility के सभी बच्चों के लिए, नया animateEnterExit मॉडिफ़ायर ऐक्सेस किया जा सकता है
- AnimatedVisibility API को बंद कर दिया गया है. ये एपीआई,
initiallyVisibleपैरामीटर का इस्तेमाल करते हैं (I702f3)
वर्शन 1.0.0-beta06
5 मई, 2021
androidx.compose.animation:animation:1.0.0-beta06 और androidx.compose.animation:animation-core:1.0.0-beta06 रिलीज़ हो गए हैं. वर्शन 1.0.0-beta06 में ये बदलाव शामिल हैं.
वर्शन 1.0.0-beta05
21 अप्रैल, 2021
androidx.compose.animation:animation:1.0.0-beta05 और androidx.compose.animation:animation-core:1.0.0-beta05 रिलीज़ हो गए हैं. वर्शन 1.0.0-beta05 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- ui-test-manifest और ui-tooling-data की AndroidManifest फ़ाइलें अब Android 12 के साथ काम करती हैं (I6f9de, b/184718994)
वर्शन 1.0.0-beta04
7 अप्रैल, 2021
androidx.compose.animation:animation:1.0.0-beta04 और androidx.compose.animation:animation-core:1.0.0-beta04 रिलीज़ हो गए हैं. वर्शन 1.0.0-beta04 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
RowScope,ColumnScope,BoxScope,BoxWithConstraintsScopeके सार्वजनिक इंस्टेंस हटा दिए गए हैं. (I4e83e, b/181869067)
वर्शन 1.0.0-beta03
24 मार्च, 2021
androidx.compose.animation:animation:1.0.0-beta03 और androidx.compose.animation:animation-core:1.0.0-beta03 रिलीज़ हो गए हैं. वर्शन 1.0.0-beta03 में ये बदलाव शामिल हैं.
वर्शन 1.0.0-beta02
10 मार्च, 2021
androidx.compose.animation:animation:1.0.0-beta02 और androidx.compose.animation:animation-core:1.0.0-beta02 रिलीज़ हो गए हैं. वर्शन 1.0.0-beta02 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई के सार्वजनिक इस्तेमाल पर पाबंदियां लागू करें (I6aa29, b/174531520)
वर्शन 1.0.0-beta01
24 फ़रवरी, 2021
androidx.compose.animation:animation:1.0.0-beta01 और androidx.compose.animation:animation-core:1.0.0-beta01 रिलीज़ हो गए हैं. वर्शन 1.0.0-beta01 में ये बदलाव शामिल हैं.
यह Compose 1.0.0 Beta का पहला वर्शन है.
एपीआई में हुए बदलाव
InteractionStateको[Mutable]InteractionSourceसे बदल दिया गया है- इंटरफ़ेस, इंटरैक्शन इवेंट को इकट्ठा करने या उन्हें ट्रिगर करने के लिए ज़िम्मेदार होते हैं.
ButtonऔरModifier.clickable()जैसे कॉम्पोनेंट कोinteractionState = remember { InteractionState() }पास करने के बजाय,interactionSource = remember { MutableInteractionSource() }का इस्तेमाल करें.- इसके बजाय:
Interaction.Pressed in interactionStateइसके बजाय, आपको InteractionSource पर एक्सटेंशन फ़ंक्शन का इस्तेमाल करना चाहिए. जैसे, InteractionSource.collectIsPressedAsState(). - इस्तेमाल के जटिल उदाहरणों के लिए, InteractionSource.interactions का इस्तेमाल करके इंटरैक्शन की स्ट्रीम को देखा जा सकता है. ज़्यादा जानकारी के लिए, InteractionSource का दस्तावेज़ और सैंपल देखें.
- (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
- smoothScrollBy और scrollBy तरीकों के पैकेज को
androidx.compose.foundation.gestures.*(I3f7c1, b/175294473) में बदला गया - साइज़ मॉडिफ़ायर के नाम बदल दिए गए हैं. Modifier.width/height/size का नाम बदलकर requiredWidth/requiredHeight/requiredSize कर दिया गया है. Modifier.preferredWidth/preferredHeight/preferredSize का नाम बदलकर width/height/size कर दिया गया है. (I5b414)
- ओरिएंटेशन को फ़ाउंडेशन पैकेज में ले जाया गया है. VelocirtTracker को ui.gesture से ui.input.pointer में ले जाया गया. (Iff4a8, b/175294473)
- AnimationClockObservable और इसकी सबक्लास हटा दी गई हैं. AnimatedFloat को हटा दिया गया है. (Icde52, b/177457083)
- Modifier.draggable अब एक सामान्य लैम्ब्डा के बजाय DraggableState स्वीकार करता है.
rememberDraggableState { delta -> }की मदद से, पहले जैसा व्यवहार पाने के लिए स्टेट बनाई जा सकती है (Ica70f, b/175294473) - animate, animatedValue, और AnimatedValue API हटा दिए गए हैं (If27bc, b/177457083)
- AnimationEndReason.Interrupted को हटा दिया गया है. अगर ऐनिमेशन में रुकावट आती है, तो CancellationException थ्रो किया जाएगा. (I2cbbc, b/179695417)
- TargetAnimation API को हटा दिया गया है. (If47d1, b/177457083)
वर्शन 1.0.0-alpha12
10 फ़रवरी, 2021
androidx.compose.animation:animation:1.0.0-alpha12 और androidx.compose.animation:animation-core:1.0.0-alpha12 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha12 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
Modifier.pointerInputको अब याद रखने वाली कुंजियों की ज़रूरत होती है. इससे यह पता चलता है कि नई डिपेंडेंसी के लिए, पॉइंटर इनपुट का पता लगाने वाली कोराउटीन को कब रीस्टार्ट करना चाहिए. (I849cd)- Bounds का नाम बदलकर DpRect (I4b32a) कर दिया गया है
- ऐनिमेशन सिस्टम में, AnimationSpec के लिए पैरामीटर का नाम animationSpec कर दिया गया है. साथ ही, Enter/ExitTransition को भी सीमित करें, ताकि वह FiniteAnimationSpec को स्वीकार कर सके. (Ie47c5, b/177457083)
- Animatable.snapTo और Animatable.stop अब सस्पेंड फ़ंक्शन हैं (If4288)
- जिस तरह हमने पहले
state { 0 }कंपोज़ेबल को हटाया था और अबremember { mutableStateOf(0) }के इस्तेमाल को बढ़ावा दे रहे हैं उसी तरह हमsavedInstanceState { 0 }कंपोज़ेबल को हटाने जा रहे हैं. आपकोrememberSaveable { mutableStateOf(0) }का इस्तेमाल करना चाहिए. अगर MutableState में इस्तेमाल किया गया टाइप, बंडल में सेव किया जा सकता है, तो यह अपने-आप सेव और रीस्टोर हो जाएगा. अगर पहले कस्टम सेवर ऑब्जेक्ट पास किया जा रहा था, तो अब आपको rememberSaveable के नए ओवरलोड का इस्तेमाल करना होगा. इसमेंstateSaverपैरामीटर होता है. इसका इस्तेमाल इस तरह किया जाएगा:val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) }(Ib4c26, b/177338004) - Crossfade के तरीके के सिग्नेचर को अपडेट किया गया है, ताकि यह ऐनिमेशन सिस्टम के बाकी हिस्सों के साथ ज़्यादा मेल खाए. (Ib05ed, b/177457083)
- rememberSavedInstanceState() का नाम बदलकर rememberSaveable() कर दिया गया है. साथ ही, इसे androidx.compose.runtime.saveable पैकेज में ले जाया गया है. (I1366e, b/177338004)
- RestorableStateHolder का नाम बदलकर SaveableStateHolder कर दिया गया है. साथ ही, इसे androidx.compose.runtime.saveable पैकेज में ले जाया गया है. इनर मेथड RestorableStateProvider का नाम बदलकर SaveableStateProvider कर दिया गया है. जेनेरिक टाइप को हटा दिया गया है, ताकि आप सिर्फ़ Any को कुंजी के तौर पर पास कर सकें. अब एक्सपेरिमेंटल एनोटेशन की ज़रूरत नहीं है. (I0902e, b/174598702)
- Modifier.animateContentSize एपीआई को अपडेट किया गया है, ताकि यह ऐनिमेशन सिस्टम के बाकी हिस्सों के साथ काम कर सके. (I0bf75, b/177457083)
- AnimatedValue/Float अब सेवा में नहीं है. इसके बजाय, कृपया Animatable का इस्तेमाल करें. (I71345, b/177457083)
- tapGestureFilter, doubleTapGestureFilter, longPressGestureFilter, और pressIndicaitonGestureFilter अब काम नहीं करते हैं. इसके बजाय, Modifier.clickable या Modifier.pointerInput के साथ detectTapGestures फ़ंक्शन का इस्तेमाल करें. (I6baf9, b/175294473)
InfiniteAnimationPolicyको-रूटीन कॉन्टेक्स्ट एलिमेंट जोड़ा गया है. इसका इस्तेमाल, लगातार चलने वाले ऐनिमेशन में किया जाएगा. डिफ़ॉल्ट रूप से कोई नीति इंस्टॉल नहीं की जाती. हालांकि,ComposeTestRuleके साथ टेस्ट चलाने पर ऐसा होता है. (I50ec4, b/151940543)- डिस्ट्रक्चरिंग और copy() तरीकों को उन क्लास से हटा दिया गया है जहां इनका इस्तेमाल बहुत कम किया जाता था. (I26702, b/178659281)
- ऐनिमेशन में चलने का समय अब नैनोसेकंड (If776a) में बदल गया है
- compose:runtime-dispatch आर्टफ़ैक्ट अब काम नहीं करता. MonotonicFrameClock को अब compose:runtime में देखा जा सकता है. साथ ही, AndroidUiDispatcher को compose:ui में देखा जा सकता है. (Ib5c36)
Animation.isInfiniteऔरVectorizedAnimationSpec.isInfiniteजोड़े गए हैं. इनसे यह पता चलता है कि ऐनिमेशन हमेशा चलता रहेगा या नहीं. इसका इस्तेमाल ऐनिमेशन लागू करने के लिए किया जा सकता है, ताकि ऐसे ऐनिमेशन को खास तरीके से हैंडल किया जा सके. उदाहरण के लिए, "time remaining" का खास मैसेज दिखाया जा सकता है. इसके अलावा, टेस्ट के दौरान ऐनिमेशन को रद्द किया जा सकता है, ताकि उपयोगकर्ता को हमेशा के लिए इंतज़ार न करना पड़े. (Iebb05, b/151940543)- ऐनिमेशन के समय के टाइप के तौर पर, Uptime के बजाय Long का इस्तेमाल करें (Ie3aa7, b/177420019)
वर्शन 1.0.0-alpha11
28 जनवरी, 2021
androidx.compose.animation:animation:1.0.0-alpha11 और androidx.compose.animation:animation-core:1.0.0-alpha11 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha11 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- TransitionDefinition पर आधारित ट्रांज़िशन बंद कर दिया गया है (I0ac57)
- टूल (I619fb) में ट्रांज़िशन और चाइल्ड ऐनिमेशन दिखाने के लिए, एक लेबल फ़ील्ड जोड़ा गया है
- animateAsState को अब animateFooAsState कर दिया गया है. यहां Foo, ऐनिमेट किए जा रहे वैरिएबल का टाइप है. जैसे, फ़्लोट, डीपी, ऑफ़सेट वगैरह (Ie7e25)
- नया InfiniteTransition, जो किसी भी संख्या में चाइल्ड ऐनिमेशन चलाता है. (I1da81)
- यह फ़ंक्शन, Material के स्टेटफ़ुल पैरामीटर इंटरफ़ेस में बदलाव करता है, ताकि उनमें @Composable फ़ंक्शन शामिल किए जा सकें. ये फ़ंक्शन,
State<T>वैल्यू दिखाते हैं. Animatable.asState() को जोड़ा गया है, ताकि Animatable को State में आसानी से बदला जा सके. यह Animatable पर animateElevation को suspend एक्सटेंशन के तौर पर भी बदलता है. (If613c)
गड़बड़ियां ठीक की गईं
- SideEffect और DisposableEffect API (If760e) के पक्ष में, onCommit, onDispose, और onActive को बंद कर दिया गया है
- updateTransition में Initial State का इस्तेमाल किया जा सकता है (Ifd51d)
- इमेज और आइकॉन में, कॉन्टेंट का ब्यौरा देने वाला पैरामीटर जोड़ा गया है. इसका इस्तेमाल, सुलभता सेवाओं (I2ac4c) को जानकारी देने के लिए किया जाता है
- invalidate और compositionReference() को अब बंद कर दिया गया है. इनके बजाय, currentRecomposeScope और rememberCompositionReference का इस्तेमाल करें. (I583a8)
- अवधि और अपटाइम को लंबे मिलीसेकंड से बदल दिया जाएगा. साथ ही, यह चरण उन क्लास पर पॉइंटर इनपुट की निर्भरता को हटा देता है. (Ia33b2, b/175142755, b/177420019)
- अब क्लिक किए जा सकने वाले, टॉगल किए जा सकने वाले, और चुने जा सकने वाले एलिमेंट को कंपोज़िशन के बाहर बनाया जा सकता है (I0a130, b/172938345, b/175294473)
- ईज़िंग को फ़ंक्शनल इंटरफ़ेस (Ib14e5) में बदल दिया गया है
- LazyColumn/LazyRow/LazyVerticalGrid के स्कोप के लिए नई
items(count: Int)फ़ैक्ट्री मेथड.items(items: List)औरitemsIndexed(items: List)अब एक्सटेंशन फ़ंक्शन हैं. इसलिए, इनका इस्तेमाल करते समय आपको इन्हें मैन्युअल तरीके से इंपोर्ट करना होगा. ऐरे के लिए नए एक्सटेंशन ओवरलोड: items(items: ऐरे) और itemsIndexed(ऐरे) (I803fc, b/175562574) - टेस्टिंग में TestCoroutineDispatcher का इस्तेमाल करें (I532b6)
- PointerInputData को हटा दिया गया है. साथ ही, PointerInputChange में बदलाव किया गया है, ताकि इसमें PointerInputData के सभी फ़ील्ड शामिल किए जा सकें. PointerInputEvent और PointerInputEventData को इंटरनल बनाया गया है, क्योंकि इनका इस्तेमाल किसी भी सार्वजनिक एपीआई में नहीं किया जाता. (Ifff97, b/175142755)
वर्शन 1.0.0-alpha10
13 जनवरी, 2021
androidx.compose.animation:animation:1.0.0-alpha10 और androidx.compose.animation:animation-core:1.0.0-alpha10 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha10 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- वेलोसिटी में बदलाव करके, कॉम्पोनेंट के हिस्सों और गणितीय ऑपरेशन को शामिल किया गया है. (Ib0447)
@ExperimentalTestingका नाम बदलकर@ExperimentalTestApiकर दिया गया है, ताकि यह इसी तरह के एक्सपेरिमेंटल एपीआई एनोटेशन (Ia4502, b/171464963) के साथ काम कर सके- Position का नाम बदलकर DpOffset कर दिया गया है और getDistance() को हटा दिया गया है (Ib2dfd)
- Any.identityHashCode() पब्लिक एपीआई (I025d7) हटाया गया
गड़बड़ियां ठीक की गईं
- कोरूटीन पर आधारित नया एपीआई
Animatable, जो यह पक्का करता है कि इसके ऐनिमेशन एक-दूसरे से अलग हों. मल्टी-डाइमेंशनल डेके ऐनिमेशन के लिए, नया DecayAnimationSpec (I820f2, b/168014930) animate()को अबanimateAsState()से बदल दिया गया है. यहTके बजायState<T>दिखाता है. इससे बेहतर परफ़ॉर्मेंस मिलती है, क्योंकि अमान्य होने के दायरे को उस जगह तक सीमित किया जा सकता है जहां राज्य की वैल्यू पढ़ी जाती है. (Ib179e)
वर्शन 1.0.0-alpha09
16 दिसंबर, 2020
androidx.compose.animation:animation:1.0.0-alpha09 और androidx.compose.animation:animation-core:1.0.0-alpha09 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha09 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- Dp.VectorConverter, Position.VectorConverter वगैरह को animation-core में ले जाया गया है. साथ ही, पुराने VectorConveters को बंद कर दिया गया है (If0c4b)
- ट्रांज़िशन एपीआई का एक नया सेट लॉन्च किया गया है. इसे इस्तेमाल करना पहले से ज़्यादा आसान है. साथ ही, इसमें डाइनैमिक तरीके से जोड़े गए ऐनिमेशन और डाइनैमिक तरीके से कैलकुलेट किए गए ऐनिमेशन टारगेट की सुविधा भी है. इन एपीआई को एक्सपेरिमेंट के तौर पर मार्क किया गया है, ताकि इन्हें TransitionDefinition पर आधारित एपीआई से आसानी से अलग किया जा सके. (Ia7fe3)
गड़बड़ियां ठीक की गईं
- ऑफ़सेट मॉडिफ़ायर में लैम्ब्डा अब फ़्लोट के बजाय IntOffset दिखाता है. (Ic9ee5, b/174137212, b/174146755)
- LazyColumnFor, LazyRowFor, LazyColumnForIndexed, और LazyRowForIndexed को बंद कर दिया गया है. इसके बजाय, LazyColumn और LazyRow का इस्तेमाल करें (I5b48c)
- पॉइंटर इनपुट एपीआई को निलंबित करने के लिए, HandlePointerInputScope का नाम बदलकर AwaitPointerEventScope और handlePointerInput() का नाम बदलकर awaitPointerEventScope() कर दिया गया है. (Idf0a1, b/175142755)
- InfiniteRepeatableSpec बनाने के लिए, नया infiniteRepeatable फ़ंक्शन (I668e5)
- ExperimentalPointerInput एनोटेशन (Ia7a24) हटाया गया
वर्शन 1.0.0-alpha08
2 दिसंबर, 2020
androidx.compose.animation:animation:1.0.0-alpha08 और androidx.compose.animation:animation-core:1.0.0-alpha08 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha08 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- कंपोज़ेबल लैम्डा पैरामीटर के नाम और पोज़िशन के लिए, लिंट चेक जोड़ा गया है. इससे Compose के दिशा-निर्देशों के मुताबिक, एक जैसा कोड लिखने में मदद मिलेगी.
इसके अलावा, कुछ एपीआई को माइग्रेट किया गया है. इनमें से कुछ के ट्रेलिंग लैम्डा के लिए
childrenका इस्तेमाल किया गया था. इन्हेंcontentमें माइग्रेट किया गया है. यह बदलाव, लिंट चेक और दिशा-निर्देशों के मुताबिक किया गया है. (Iec48e) - पहले बंद किए गए एपीआई हटा दिए गए हैं:
Modifier.onPositionedको हटा दिया गया है.Modifier.onGloballyPositionedका इस्तेमाल करें.Modifier.onDrawको हटा दिया गया है.Modifier.onDrawBehindका इस्तेमाल करें.Modifier.plusको हटा दिया गया है.Modifier.thenका इस्तेमाल करें.Color.Unsetको हटा दिया गया है.Color.Unspecifiedका इस्तेमाल करें.PxBoundsक्लास को हटा दिया गया है. इसके बजाय,Rectका इस्तेमाल करें.- (Ie9d02, b/172562222)
- TestAnimationClock को MonotonicFrameClock से कंट्रोल करने के लिए, कुछ समय के लिए विकल्प जोड़ा गया (I1403b, b/173402197)
गड़बड़ियां ठीक की गईं
- Modifier.drawLayer का नाम बदलकर Modifier.graphicsLayer कर दिया गया है साथ ही, एपीआई काउंसिल के सुझाव के मुताबिक, इससे जुड़ी क्लास को भी GraphicsLayer में अपडेट कर दिया गया है. (I0bd29, b/173834241)
- drawLayer के लिए, Modifier.scale/rotate API जोड़े गए हैं.
- Modifier.drawOpacity का नाम बदलकर Modifier.alpha कर दिया गया है
- Modifier.drawShadow का नाम बदलकर Modifier.shadow कर दिया गया है (I264ca, b/173208140)
- PointerInputData के अपटाइम और पोजीशन फ़ील्ड को नॉन-नलेबल बनाया गया. (Id468a)
- offsetPx मॉडिफ़ायर का नाम बदलकर offset कर दिया गया है. अब ये State के बजाय लैंबडा पैरामीटर ले रहे हैं. (Ic3021, b/173594846)
- कोरूटीन में ऐनिमेशन चलाने के लिए नए एपीआई (Ied662)
Ambientसफ़िक्स वाले, बंद किए गए ऐंबिएंट के नाम बदले गए हैं. साथ ही, उन्हें ऐंबिएंट से शुरू होने वाली नई प्रॉपर्टी से बदल दिया गया है. इसके लिए, अन्य ऐंबिएंट और Compose API के दिशा-निर्देशों का पालन किया गया है. (I33440)- जांच में समय को कंट्रोल करने की सुविधा (TestAnimationClock और इसके इस्तेमाल) अब एक्सपेरिमेंटल (I6ef86, b/171378521) है
- ui-test मॉड्यूल और उसके स्टब (I3a7cb) हटाएं
RestorableStateHolder.withRestorableStateफ़ंक्शन का नाम बदलकरRestorableStateProviderकर दिया गया है (I66640)- अलाइनमेंट इंटरफ़ेस को अपडेट किया गया है और अब यह काम कर रहा है. (I46a07, b/172311734)
वर्शन 1.0.0-alpha07
11 नवंबर, 2020
androidx.compose.animation:animation:1.0.0-alpha07 और androidx.compose.animation:animation-core:1.0.0-alpha07 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha07 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- AmbientTextStyle, ProvideTextStyle, और AmbientContentColor अब काम नहीं करते हैं. इसके बजाय, Material लाइब्रेरी में उपलब्ध नए वर्शन का इस्तेमाल करें. Material डिज़ाइन के सिद्धांतों का पालन न करने वाले ऐप्लिकेशन के लिए, आपको थीमिंग के लिए अपने हिसाब से डिज़ाइन सिस्टम बनाना चाहिए. इसका इस्तेमाल आपके कॉम्पोनेंट में किया जा सकता है. (I74acc, b/172067770)
- foundation.Text को बंद कर दिया गया है और इसे material.Text से बदल दिया गया है. अगर आपको ऐसा टेक्स्ट एपीआई चाहिए जो किसी थीम से वैल्यू का इस्तेमाल न करता हो, तो androidx.compose.foundation.BasicText देखें. (If64cb)
- MeasureResult को MeasureScope से बाहर ले जाया गया. (Ibf96d, b/171184002)
- लेआउट से जुड़े कई सिंबल को androidx.compose.ui से androidx.compose.layout.ui में ले जाया गया है. (I0fa98, b/170475424)
वर्शन 1.0.0-alpha06
28 अक्टूबर, 2020
androidx.compose.animation:animation:1.0.0-alpha06 और androidx.compose.animation:animation-core:1.0.0-alpha06 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha06 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- ComposeTestRule में ट्रांज़िशन चालू करें; ComposeTestRule से ब्लिंक करने वाले कर्सर को चालू करने का विकल्प हटाएं. (If0de3)
वर्शन 1.0.0-alpha05
14 अक्टूबर, 2020
androidx.compose.animation:animation:1.0.0-alpha05 और androidx.compose.animation:animation-core:1.0.0-alpha05 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha05 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- नया ऐनिमेशन इंटरफ़ेस और सबक्लास: ये क्लास, ऐनिमेशन के शुरू और खत्म होने की स्थितियों को सेव करती हैं. इसलिए, ये सिर्फ़ प्लेटाइम (Ie95bd, b/163329867) के ज़रिए वैल्यू और वेलोसिटी को क्वेरी करने की अनुमति देती हैं
गड़बड़ियां ठीक की गईं
- OnPositionedModifier का नाम बदलकर OnGloballyPositionedModifier कर दिया गया है. साथ ही, onPositioned() का नाम बदलकर onGloballyPositioned() कर दिया गया है. (I587e8, b/169083903)
contentColor() और currentTextStyle() एपीआई को बंद कर देता है. साथ ही, इनकी जगह AmbientContentColor और AmbientTextStyle ऐंबिएंट का इस्तेमाल करता है. किसी भी अन्य परिवेश की तरह, परिवेश की प्रॉपर्टी पर
.currentका इस्तेमाल करके, मौजूदा वैल्यू को ऐक्सेस किया जा सकता है. यह बदलाव इसलिए किया गया है, ताकि सभी प्लैटफ़ॉर्म पर एक जैसा अनुभव मिले. साथ ही, एक ही काम को पूरा करने के लिए कई तरीके न हों. इसके अलावा, कुछ ऐंबियंट प्रॉपर्टी के नाम बदले गए हैं, ताकि उनके मकसद के बारे में बेहतर तरीके से बताया जा सके. जैसे:- ContentColorAmbient -> AmbientContentColor
- TextStyleAmbient -> AmbientTextStyle
- IndicationAmbient -> AmbientIndication
- EmphasisAmbient -> AmbientEmphasisLevels
- RippleThemeAmbient -> AmbientRippleTheme (I37b6d)
वर्शन 1.0.0-alpha04
1 अक्टूबर, 2020
androidx.compose.animation:animation:1.0.0-alpha04 और androidx.compose.animation:animation-core:1.0.0-alpha04 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha04 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- @VisibleForTesting के साथ एनोटेट किए गए rootAnimationClockFactory, transitionsEnabled, blinkingCursorEnabled, और textInputServiceFactory को इंटरनल एपीआई बनाएं और उनके kdoc को छिपाएं (I554eb, b/168308412)
गड़बड़ियां ठीक की गईं
- कई ग्राफ़िक्स एपीआई अपडेट किए गए
- स्केल और रोटेशन के लिए अपडेट किए गए ट्रांसफ़ॉर्मेशन एपीआई, अब एक ही ऑफ़सेट पैरामीटर का इस्तेमाल करते हैं. इससे DrawScope और DrawTransform में x/y कोऑर्डिनेट के लिए अलग-अलग फ़्लोट पैरामीटर के बजाय, पिवट कोऑर्डिनेट को दिखाया जा सकता है
- Rect.expandToInclude और Rect.join तरीके हटाए गए
- रेडियस के दस्तावेज़ को अपडेट किया गया है. इसमें एलिप्टिकल के साथ-साथ ओवल भी शामिल किया गया है
- दस्तावेज़ जोड़ा गया है. इससे पता चलता है कि इनलाइन रेडियस क्लास के लिए, सार्वजनिक कंस्ट्रक्टर को सीधे तौर पर कॉल नहीं किया जाना चाहिए. इसके बजाय, रेडियस ऑब्जेक्ट को उनके फ़ंक्शन कंस्ट्रक्टर के ज़रिए इंस्टैंटिएट किया जाना चाहिए
- topRight, bottomRight, bottomCenter वगैरह के बारे में क्वेरी करने के लिए, RoundRect API हटा दिए गए हैं.
- Rect.shift को Rect.translate के पक्ष में बंद कर दिया गया है
- RoundRect.grow और Rect.shrink API हटा दिए गए हैं
- RoundRect.outerRect का नाम बदलकर Rect.boundingRect किया गया
- RoundRect.middleRect/tallMiddleRect/wideMiddleRect और Rect.isStadium तरीके हटा दिए गए हैं
- RoundRect.longestSide का नाम बदलकर RoundRect.maxDimension कर दिया गया है
- RoundRect.shortestSide का नाम बदलकर RoundRect.minDimension कर दिया गया है
- RoundRect.center को फ़ंक्शन के बजाय प्रॉपर्टी के तौर पर बदला गया
- RoundRect कंस्ट्रक्टर को अपडेट किया गया है, ताकि वह x/y रेडियस वैल्यू के लिए अलग-अलग पैरामीटर के बजाय, रेडियस प्रॉपर्टी का इस्तेमाल कर सके
- ऐसे साइज़ एपीआई हटा दिए गए हैं जो यह मानते थे कि यह 0,0 पर मौजूद ऑरिजिन वाला रेक्टैंगल है
- Radius में डिस्ट्रक्टिंग एपीआई जोड़ा गया
- RoundRect एक्सटेंशन फ़ंक्शन को प्रॉपर्टी में माइग्रेट किया गया
- (I8f5c7, b/168762961)
- foundation.Box अब काम नहीं करता. इसके बजाय, कृपया foundation.layout.Box का इस्तेमाल करें. (Ie5950, b/167680279)
- स्टैक का नाम बदलकर Box कर दिया गया. compose.foundation.layout में मौजूद नए Box के लिए, पहले से मौजूद Box को बंद कर दिया जाएगा. नए बॉक्स में, एक से ज़्यादा आइटम होने पर उन्हें एक के ऊपर एक रखा जाता है. यह पिछले बॉक्स से अलग है, जो कॉलम की तरह काम करता था. (I94893, b/167680279)
- बॉक्स डेकोरेशन पैरामीटर का इस्तेमाल बंद कर दिया गया है. अगर आपको अपने बॉक्स में डेकोरेशन/पैडिंग चाहिए, तो इसके बजाय मॉडिफ़ायर का इस्तेमाल करें (Modifier.background, Modifier.border, Modifier.padding) (Ibae92, b/167680279)
- हमने लेआउट स्कोप के कॉन्टेंट के स्टैटिक इंपोर्ट को रोका है. जैसे, RowScope में alignWithSiblings. इसके बजाय, साफ़ तौर पर स्कोप तय करने वाले विकल्प का इस्तेमाल किया जाना चाहिए:
with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }. (I216be, b/166760797)
वर्शन 1.0.0-alpha03
16 सितंबर, 2020
androidx.compose.animation:animation:1.0.0-alpha03 और androidx.compose.animation:animation-core:1.0.0-alpha03 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha03 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- लेआउट एपीआई में, ग्रेविटी के इस्तेमाल को अलाइन या अलाइनमेंट के तौर पर लगातार रीनेम किया गया. (I2421a, b/164077038)
वर्शन 1.0.0-alpha02
2 सितंबर, 2020
androidx.compose.animation:animation:1.0.0-alpha02 और androidx.compose.animation:animation-core:1.0.0-alpha02 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha02 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
ManualFrameClock.hasAwaitersको यह देखने के लिए जोड़ा गया है कि क्या उस घड़ी से किसी फ़्रेम का इंतज़ार किया जा रहा है;runWithManualClockकोrunBlockingके विकल्प के तौर पर जोड़ा गया है, ताकि ManualFrameClock की ज़रूरत वाले टेस्ट चलाए जा सकें;TestUiDispatcher.Mainको जोड़ा गया है, ताकि आपके टेस्ट में मुख्य यूज़र इंटरफ़ेस (यूआई) डिस्पैचर को आसानी से ऐक्सेस किया जा सके.उदाहरण के लिए:
@Test fun myTest() = runWithManualClock { clock -> // set some compose content withContext(TestUiDispatcher.Main) { clock.advanceClock(1000L) } if (clock.hasAwaiters) { println("The clock has awaiters") } else { println("The clock has no more awaiters") } }
गड़बड़ियां ठीक की गईं
onPreCommit का इस्तेमाल अब नहीं किया जा सकता. onCommit में अब onPreCommit का व्यवहार शामिल है.
onCommit और onActive अब उसी कोरियोग्राफ़र फ़्रेम में चलते हैं जिसमें कंपोज़िशन में किए गए बदलाव लागू होते हैं. ऐसा अगले कोरियोग्राफ़र फ़्रेम की शुरुआत में नहीं होता. (I70403)
वर्शन 1.0.0-alpha01
26 अगस्त, 2020
androidx.compose.animation:animation:1.0.0-alpha01 और androidx.compose.animation:animation-core:1.0.0-alpha01 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha01 में ये बदलाव शामिल हैं.
वर्शन 0.1.0-dev
वर्शन 0.1.0-dev17
19 अगस्त, 2020
androidx.compose.animation:animation:0.1.0-dev17 और androidx.compose.animation:animation-core:0.1.0-dev17 रिलीज़ हो गए हैं. वर्शन 0.1.0-dev17 में ये बदलाव शामिल हैं.
नई सुविधाएं
एपीआई में हुए बदलाव
- ऑफ़सेट को इनलाइन क्लास (Iaec70) बना दिया गया है
- IntOffset अब एक इनलाइन क्लास (Iac0bf) है
- IntSize अब एक इनलाइन क्लास (I2bf42) है
AnimatedVisibilty कंपोज़ेबल, चाइल्ड कॉन्टेंट के दिखने और गायब होने की प्रोसेस को ऐनिमेट करता है.
EnterTransition और ExitTransition को AnimatedVisibilty कंपोज़ेबल के साथ काम करने के लिए पेश किया गया है. इससे दिखने और गायब होने के तीन अलग-अलग तरह के ऐनिमेशन मिलते हैं: फ़ेड, स्लाइड, और कॉन्टेंट को बड़ा/छोटा करना. ज़्यादा बेहतर लुक और फ़ील पाने के लिए, अलग-अलग तरह के ऐनिमेशन को एक साथ इस्तेमाल किया जा सकता है. (Idda11)
Rect के पक्ष में PxBounds को डेप्रिकेट किया गया. PxBounds के सभी इस्तेमाल को rect से अपडेट किया गया है. साथ ही, माइग्रेशन में मदद करने के लिए, सही तौर पर डेप्रिकेट/बदलने के एनोटेशन जोड़े गए हैं. (I37038, b/162627058)
गड़बड़ियां ठीक की गईं
PlacementScope.placeAbsolute()का नाम बदलकरPlacementScope.place()कर दिया गया है. साथ ही,PlacementScope.place()का नाम बदलकरPlacementScope.placeRelative()कर दिया गया है. इस वजह से,PlacementScope.place()तरीके का इस्तेमाल करने पर, अब दाएं से बाएं ओर लिखे जाने वाले कॉन्टेक्स्ट में, स्थिति अपने-आप नहीं बदलेगी. अगर आपको ऐसा करना है, तो इसके बजायPlacementScope.placeRelative()का इस्तेमाल करें. (I873ac, b/162916675)state { ... }कंपोज़ेबल को अब बंद कर दिया गया है. इसके बजाय,remember { mutableStateOf(...) }को साफ़ तौर पर कॉल करने की सुविधा उपलब्ध है. इससे, स्टेट मैनेजमेंट के लिए एपीआई की कुल संख्या और कॉन्सेप्ट कम हो जाते हैं. साथ ही, यह क्लास प्रॉपर्टी डेलिगेशन के लिएby mutableStateOf()पैटर्न से मेल खाता है. (Ia5727)
वर्शन 0.1.0-dev16
5 अगस्त, 2020
androidx.compose.animation:animation:0.1.0-dev16 और androidx.compose.animation:animation-core:0.1.0-dev16 रिलीज़ हो गए हैं. वर्शन 0.1.0-dev16 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- बिल्ट-इन यूनिट को बदलने के लिए, बिल्ट-इन वेक्टर कन्वर्टर अब
Foo.VectorConverterके ज़रिए ऐक्सेस किए जा सकते हैं. उदाहरण के लिए,Dp.VectorConverter,Color.VectorConverter,Float.VectorConverterवगैरह (I3e273) Modifier.animateContentSize()में एंड लिसनर की सुविधा जोड़ी गई है. इससे साइज़ बदलने का ऐनिमेशन खत्म होने पर, लिसनर को सूचना मिलेगी. साथ ही, ऐनिमेशन के शुरू और खत्म होने के साइज़ की जानकारी भी मिलेगी. (I277b2)- animateContentSize नाम का नया मॉडिफ़ायर, जो अपने चाइल्ड मॉडिफ़ायर (Ieffdc) के लेआउट के साइज़ में होने वाले बदलाव को ऐनिमेट करता है
MonotonicFrameAnimationClockजोड़ा गया है. इसकी मदद से, MonotonicFrameClock कोAnimationClockObservableके तौर पर इस्तेमाल किया जा सकता है. इससे, नई को-रूटीन पर आधारित क्लॉक और अब भी कॉलबैक पर आधारित पुरानी क्लॉक का इस्तेमाल करने वाले एपीआई के बीच के अंतर को कम किया जा सकता है.ManualAnimationClockके बराबरMonotonicFrameClockअबManualFrameClockहै. (I111c7, b/161247083)
गड़बड़ियां ठीक की गईं
- दाएं से बाएं लिखने की सुविधा के लिए, एपीआई अपडेट कर दिए गए हैं. LayoutDirectionAmbient को जोड़ा गया है. इसका इस्तेमाल लेआउट की दिशा को पढ़ने और बदलने के लिए किया जा सकता है. Modifier.rtl और Modifier.ltr को हटा दिया गया है. (I080b3)
- transitionDefinition के लिए, टाइप T को साफ़ तौर पर बताना ज़रूरी है. (I1aded)
- foundation.shape.corner पैकेज को foundation.share (I46491, b/161887429) में फ़्लैट कर दिया गया है
- Modifier.plus अब काम नहीं करता. इसके बजाय, Modifier.then का इस्तेमाल करें. 'फिर' शब्द से क्रम का पता चलता है. साथ ही, इसमें
Modifier.padding().background() + anotherModifierटाइप करने की अनुमति नहीं है. इससे चेन टूट जाती है और इसे पढ़ना मुश्किल हो जाता है (Iedd58, b/161529964) - Modifier.drawBackground का नाम बदलकर Modifier.background कर दिया गया है (I13677)
वर्शन 0.1.0-dev15
22 जुलाई, 2020
androidx.compose.animation:animation:0.1.0-dev15 और androidx.compose.animation:animation-core:0.1.0-dev15 रिलीज़ हो गए हैं. वर्शन 0.1.0-dev15 में ये बदलाव शामिल हैं.
डिपेंडेंसी से जुड़ा अपडेट
- Compose के
0.1.0-dev15वर्शन का इस्तेमाल करने के लिए, आपको अपनी डिपेंडेंसी अपडेट करनी होंगी. इसके लिए, ऊपर डिपेंडेंसी तय करना सेक्शन में दिखाए गए नए कोड स्निपेट का इस्तेमाल करें.
एपीआई में हुए बदलाव
- Transition API को बदलकर, TransitionState को बच्चों को पास करने के बजाय, TransitionState को वापस लाने के लिए इस्तेमाल किया गया है. इससे एपीआई, animate() एपीआई के साथ ज़्यादा बेहतर तरीके से काम कर पाता है. (I24e38)
- क्रॉसफ़ेड के लिए मॉडिफ़ायर पैरामीटर जोड़ा गया (I87cfe, b/159706180)
- स्टैटिक ऐनिमेशन स्पेसिफ़िकेशन के कॉन्सेप्ट को समझने के लिए, टॉप लेवल के एपीआई में AnimationBuilder के बजाय AnimationSpec का इस्तेमाल करें
- ट्रांज़िशन डीएसएल को बेहतर बनाया गया है. अब ट्विन और स्प्रिंग जैसे AnimationSpec बनाने के लिए, लैम्ब्डा की ज़रूरत नहीं होगी. इसके बजाय, वे सीधे तौर पर कंस्ट्रक्टर पैरामीटर लेते हैं.
- AnimationSpec को इस्तेमाल करने में आसानी हो, इसके लिए बिल्डर पर भरोसा करने के बजाय कंस्ट्रक्टर का इस्तेमाल किया गया है
- KeyFrames और Tween के लिए, अवधि और देरी को Int में बदलें. इससे, टाइप कास्ट और तरीके के ओवरलोडिंग (Long और Int, दोनों के साथ काम करने के लिए) को हटाया जा सकता है. (Ica0b4)
- IntPx की जगह Int का इस्तेमाल किया गया. IntPxPosition की जगह IntOffset का इस्तेमाल किया गया. IntPxSize को IntSize से बदल दिया गया है. (Ib7b44)
- साइज़ की जानकारी दिखाने के लिए इस्तेमाल की जाने वाली क्लास की संख्या को कम करने के लिए, PxSize के बजाय Size क्लास का इस्तेमाल करें. इससे इनलाइन क्लास के फ़ायदे मिलते हैं. जैसे, width और height को फ़्लोट के तौर पर दिखाने के लिए, दो फ़्लोट वैल्यू को पैक करने के लिए, long का इस्तेमाल करना. (Ic0191)
- पोजीशनिंग की जानकारी दिखाने के लिए इस्तेमाल की गई क्लास की संख्या को कम करने के लिए, PxPosition के बजाय Offset क्लास का इस्तेमाल करें. इससे इनलाइन क्लास के फ़ायदे मिलते हैं. जैसे, x और y ऑफ़सेट को फ़्लोट के तौर पर दिखाने के लिए, दो फ़्लोट वैल्यू को पैक करने के लिए long का इस्तेमाल करना. (I3ad98)
- पिक्सल पैरामीटर के लिए सिर्फ़ Dp और प्रिमिटिव टाइप पर भरोसा करने के लिए, बड़े पैमाने पर रीफ़ैक्टरिंग के तहत अलग-अलग कंपोज़ क्लास में Px क्लास के इस्तेमाल को बदला गया (I086f4)
- Dp, Px, Size, Position, Bounds, PxPosition, PxSize, PxBounds, IntPx, IntPxSize, IntPxPosition, IntPxBounds, और AnimationVector के लिए animate() फ़ंक्शन का इस्तेमाल करने की सुविधा जोड़ी गई (Ib7518)
- Crossfade अब AnimationBuilder पैरामीटर को स्वीकार करता है. इससे ऐनिमेशन को कॉन्फ़िगर किया जा सकता है (I6d6e0)
- एपीआई में, Color के सभी ऐसे इस्तेमाल को बदला गया है जिनमें null वैल्यू इस्तेमाल की जा सकती थी. अब null वैल्यू इस्तेमाल नहीं की जा सकती. साथ ही, null की जगह Color.Unset का इस्तेमाल किया गया है (Iabaa7)
- ValueHolder क्लास हटा दी गई है. AnimatedValue और AnimatedFloat क्लास को फिर से स्ट्रक्चर किया गया है, ताकि ऐनिमेशन वैल्यू फ़ील्ड को ऐब्स्ट्रैक्ट बनाया जा सके. इससे सबक्लास, वैल्यू अपडेट को देख सकेंगे.
- AnimatedValue, AnimatedFloat वगैरह के लिए मॉडल क्लास जोड़ी गईं.
- वैल्यू के बीच ऐनिमेशन के लिए, हल्के-फुल्के @Composable API का नया सेट जोड़ा गया. (I79530)
- ambients API में बड़े बदलाव. ज़्यादा जानकारी के लिए, लॉग और
Ambient<T>दस्तावेज़ देखें (I4c7ee, b/143769776) - नया रिपीट मोड: रिवर्स. इस मोड में, पिछली इटरेशन को उलट दिया जाता है, क्योंकि ऐनिमेशन, RepeatableSpec या VectorizedRepeatableSpec में दोहराया जाता है. (Ibe0f5)
- ManualAnimationClock में जोड़े गए एपीआई:
hasObservers: Booleanऔर कंस्ट्रक्टर पैरामीटरdispatchOnSubscribe: Boolean(Iaa134) - AnimatedFloat (Icd9cc) में कम से कम/ज़्यादा से ज़्यादा सीमाएं पाने के लिए एपीआई जोड़े गए
गड़बड़ियां ठीक की गईं
runOnIdleComposeका नाम बदलकरrunOnIdleकर दिया गया (I83607)- टेस्टिंग के कई एपीआई के नाम बदलकर, उन्हें ज़्यादा आसान बना दिया गया है. findXYZ एपीआई के नाम बदलकर onNodeXYZ कर दिए गए हैं. doXYZ नाम वाले सभी एपीआई का नाम बदलकर performXYZ कर दिया गया है. (I7f164)
- स्टेटलेस ऐनिमेशन के लिए, लो लेवल के एपीआई जोड़े गए. ये एपीआई (I63bf7)
- Recompose कंपोज़ेबल अब काम का ऐब्स्ट्रैक्शन नहीं है. MutableState असाइनमेंट की वजह से, ज़्यादातर रीकंपोज़िशन होने चाहिए. इससे ज़्यादा के लिए, हमारा सुझाव है कि आप
invalidateफ़ंक्शन का इस्तेमाल करके, मौजूदा स्कोप को फिर से कंपोज़ करें. (Ifc992) - पिक्सल पैरामीटर के लिए, सिर्फ़ Dp और प्रिमिटिव टाइप पर भरोसा करने के लिए, बड़े पैमाने पर रीफ़ैक्टरिंग की गई. इसके तहत, अलग-अलग कंपोज़ क्लास में Px क्लास के इस्तेमाल को बदल दिया गया. पूरी Px क्लास मिटा दी गई (I3ff33)
- पिक्सल पैरामीटर (Id3434) के लिए, सिर्फ़ Dp और प्रिमिटिव टाइप पर भरोसा करने के लिए, बड़े पैमाने पर रीफ़ैक्टरिंग के तहत, अलग-अलग कंपोज़ क्लास में Px क्लास के इस्तेमाल को बदल दिया गया है
- क्रॉसफ़ेड अब शुरुआती वैल्यू के तौर पर शून्य के साथ काम कर सकता है (Iad6a4, b/155947711)
- पिक्सेल पैरामीटर के लिए, सिर्फ़ Dp और प्रिमिटिव टाइप पर भरोसा करने के लिए, बड़े पैमाने पर रीफ़ैक्टरिंग के तहत, अलग-अलग कंपोज़ क्लास में Px क्लास के इस्तेमाल को बदल दिया गया है (I19d02)
- CanvasScope को एक साथ लागू किया गया है, इसलिए अब सिर्फ़ DrawScope और ContentDrawScope उपलब्ध हैं CanvasScope का नाम बदलकर DrawScope कर दिया गया है. Density इंटरफ़ेस लागू करने और LayoutDirection उपलब्ध कराने के लिए, DrawScope को अपडेट किया गया ContentDrawScope में DrawScope सबक्लास को मिटाया गया Painter और PainterModifier को अपडेट किया गया है, ताकि वे अब खुद RTL प्रॉपर्टी को बनाए न रखें, क्योंकि DrawScope इसे मैन्युअल तरीके से उपलब्ध कराए बिना ही उपलब्ध कराता है (I1798e)
- ज़्यादा लेवल वाले Compose API अपडेट किए गए हैं. ये Canvas को CanvasScope के बजाय Canvas को दिखाते हैं. इससे उपभोक्ताओं को अपने पेंट ऑब्जेक्ट बनाए रखने की ज़रूरत नहीं पड़ती. जिन उपभोक्ताओं को अब भी Canvas का ऐक्सेस चाहिए वे drawCanvas एक्सटेंशन के तरीके का इस्तेमाल कर सकते हैं. यह तरीका, Canvas के साथ ड्राइंग कमांड जारी करने के लिए कॉलबैक उपलब्ध कराता है. (I80afd)
- Row और Column में, verticalGravity और horizontalGravity पैरामीटर जोड़े गए. (I7dc5a)
- ui-text मॉड्यूल का नाम बदलकर ui-text-core (I57dec) कर दिया गया है
- DrawModifier API को बेहतर बनाया गया है:
- draw() ContentDrawScope के लिए रिसीवर स्कोप बनाया गया
- draw() पर मौजूद सभी पैरामीटर हटा दिए गए हैं
- DrawScope का इंटरफ़ेस, CanvasScope जैसा ही है
- ContentDrawScope में drawContent() मेथड होता है (Ibaced, b/152919067)
runOnIdleComposeऔरrunOnUiThreadअब ComposeTestRule पर तरीकों के बजाय, ग्लोबल फ़ंक्शन हैं. (Icbe8f)- [Mutable]State प्रॉपर्टी डेलिगेट ऑपरेटर को एक्सटेंशन में ले जाया गया है, ताकि Kotlin 1.4 प्रॉपर्टी डेलिगेट ऑप्टिमाइज़ेशन का इस्तेमाल किया जा सके.
by state { ... }याby mutableStateOf(...)का इस्तेमाल जारी रखने के लिए, कॉल करने वालों को इंपोर्ट जोड़ने होंगे. (I5312c) - ColoredRect को बंद कर दिया गया है. इसके बजाय,
Box(Modifier.preferredSize(width, height).drawBackground(color))का इस्तेमाल करें. (I499fa, b/152753731) - मॉडिफ़ायर प्लस ऑपरेटर को फ़ैक्ट्री एक्सटेंशन फ़ंक्शन (I225e4) से बदला गया
- अब Center कंपोज़ेबल का इस्तेमाल नहीं किया जा सकता. इसे LayoutSize.Fill + LayoutAlign.Center मॉडिफ़ायर से बदला जाना चाहिए. इसके अलावा, इसे Box या Stack कंपोज़ेबल में से किसी एक से भी बदला जा सकता है. हालांकि, इसके लिए ज़रूरी है कि इन पर सही मॉडिफ़ायर लागू किए गए हों (Idf5e0)
- LayoutFlexible का नाम बदलकर LayoutWeight कर दिया गया है. भरने के लिए, टाइट पैरामीटर का नाम बदला गया. (If4738)
- Opacity कंपोज़ेबल फ़ंक्शन को drawOpacity मॉडिफ़ायर से बदल दिया गया है. (I5fb62)
- AndroidComposeTestRule का इस्तेमाल करके किए जाने वाले टेस्ट में, अब कंपोज़िशन के रूट पर ऐनिमेशन क्लॉक मिलती है. इससे ऐनिमेशन को रोका जा सकता है, फिर से शुरू किया जा सकता है, और मैन्युअल तरीके से आगे बढ़ाया जा सकता है. (Id54c5)
- LayoutPadding मॉडिफ़ायर में, दाएं से बाएं की दिशा में काम करने की सुविधा जोड़ी गई (I9e8da)
- Density और DensityScope को एक ही इंटरफ़ेस में मर्ज कर दिया गया है. ambientDensity() के बजाय, अब DensityAmbient.current का इस्तेमाल किया जा सकता है. withDensity(density) के बजाय सिर्फ़ with(density) (I11cb1)
- अलग-अलग इनलाइन क्लास टाइप में कॉपी करने के तरीके जोड़े गए हैं. इनमें ये शामिल हैं:
- ऑफ़सेट
- साइज़
- दायरा
- मोशन
- TransformOrigin
- Size.copy कंपैनियन ऑब्जेक्ट मेथड को बंद कर दिया गया है इसके बजाय, इंस्टेंस कॉपी मेथड का इस्तेमाल करें (Ife290, b/159905651)
- androidx.compose.ViewComposer को androidx.ui.node.UiComposer में ले जाया गया है
androidx.compose.Emittable को हटा दिया गया है. यह ComponentNode के साथ काम नहीं करता था.
androidx.compose.ViewAdapters को हटा दिया गया है. अब इन्हें इस्तेमाल के उदाहरण के तौर पर स्वीकार नहीं किया जाता.
Compose.composeInto का अब इस्तेमाल नहीं किया जा सकता. इसके बजाय,
setContentयाsetViewContentका इस्तेमाल करें. Compose.disposeComposition को बंद कर दिया गया है. इसके बजाय,setContentसे मिलेCompositionपरdisposeतरीके का इस्तेमाल करें. androidx.compose.Compose.subcomposeInto को androidx.ui.core.subcomposeInto में ले जाया गया है ComponentNode#emitInsertAt का नाम बदलकर ComponentNode#insertAt कर दिया गया है ComponentNode#emitRemoveAt का नाम बदलकर ComponentNode#removeAt कर दिया गया है ComponentNode#emitMode का नाम बदलकर ComponentNode#move कर दिया गया है (Idef00)