Compose का ऐनिमेशन
androidx.compose.animation
androidx.compose.animation.core
androidx.compose.animation.graphics
(सभी कंपोज़ पैकेज के लिए, एपीआई के बारे में जानकारी देने वाले दस्तावेज़ देखें)
| नया अपडेट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
|---|---|---|---|---|
| 22 अक्टूबर, 2025 | 1.9.4 | - | 1.10.0-beta01 | - |
संरचना
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 कंपाइलर प्लगिन के लिए कोर रनटाइम, ताकि उसे टारगेट किया जा सके. |
| compose.ui | डिवाइस के साथ इंटरैक्ट करने के लिए, Compose यूज़र इंटरफ़ेस (यूआई) के बुनियादी कॉम्पोनेंट. इनमें लेआउट, ड्रॉइंग, और इनपुट शामिल हैं. |
डिपेंडेंसी का एलान करना
Compose पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.
अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:
Groovy
dependencies { implementation "androidx.compose.animation:animation:1.9.4" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.animation:animation:1.9.4") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.
सुझाव/राय दें या शिकायत करें
आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या आपके पास इस लाइब्रेरी को बेहतर बनाने के लिए सुझाव हैं, तो हमें बताएं. कृपया नई समस्या सबमिट करने से पहले, इस लाइब्रेरी में शामिल मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.
ज़्यादा जानकारी के लिए, Issue Tracker का दस्तावेज़ देखें.
वर्शन 1.10
वर्शन 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.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 को अपग्रेड किया जा सकता है. आईडीई में Compose lint की जांच करने के लिए, 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 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
scaleInToFitContainerऔरscaleOutToFitContainerकोAnimatedContentTransitionScopeसे कुछ समय के लिए हटा दिया गया है, क्योंकि इनके लिए लुकअहेड की ज़रूरत होती है. ये सुविधाएं तब उपलब्ध होंगी, जब आने वाले समय में रिलीज़ होने वाले वर्शन में, लुकअहेड की सुविधा डिफ़ॉल्ट रूप से चालू होगी या आपने इसे चालू किया होगा.
वर्शन 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में लुकअहेड की सुविधा के लिए, नया एक्सपेरिमेंटल एपीआई. इससेLookaheadScopeमेंSubcomposeLayoutको ठीक से काम करने की अनुमति मिल जाएगी.SubcomposeLayoutके कुछ खास सबटाइप के लिए, ज़्यादा बेहतर सहायता जल्द ही उपलब्ध होगी.
एपीआई में हुए बदलाव
- नया
SubcomposeLayoutएपीआई, जो लुकअहेड पर आधारित ऐनिमेशन के दौरान मेज़र/लेआउट लॉजिक को मैनेज करने के लिए, एक अतिरिक्त इंटरमीडिएट मेज़रमेंट नीति का इस्तेमाल करता है. (I017d3)
वर्शन 1.5.0-alpha01
22 मार्च, 2023
androidx.compose.animation:animation-*:1.5.0-alpha01 रिलीज़ हो गया है. वर्शन 1.5.0-alpha01 में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
AnimatedContentAPIs अब स्टेबल हैं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के कॉन्टेंट को अपने-आप फ़्लिप करने की सुविधा काम कर सके. ऐसा तब होगा, जब मौजूदा लेआउट की दिशा RTL हो. (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 Release का आधिकारिक ब्लॉग देखें!
ऐसी समस्याएं जिनके बारे में जानकारी पहले से है
अगर 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 एपीआई के उस वर्शन को बंद कर दिया गया है जो
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 के लिए param नाम को 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 API को अपडेट किया गया है, ताकि यह ऐनिमेशन सिस्टम के बाकी हिस्सों के साथ काम कर सके. (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जोड़े गए हैं. इनसे यह पता चलता है कि ऐनिमेशन हमेशा चलता रहेगा या नहीं. इसका इस्तेमाल ऐनिमेशन लागू करने के लिए किया जा सकता है, ताकि ऐसे ऐनिमेशन को खास तरीके से हैंडल किया जा सके. उदाहरण के लिए, "बचा हुआ समय" का खास मैसेज दिखाया जा सकता है. इसके अलावा, टेस्ट के दौरान ऐनिमेशन को रद्द किया जा सकता है, ताकि लंबे समय तक इंतज़ार न करना पड़े. (Iebb05, b/151940543)- ऐनिमेशन के समय के टाइप के तौर पर, अपटाइम के बजाय 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 के पक्ष में, onCommit, onDispose, और onActive को बंद कर दिया गया है (If760e)
- 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: Array) और itemsIndexed(Array) (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) के साथ काम कर सके- DpOffset के लिए, पोज़िशन का नाम बदला गया और getDistance() को हटाया गया (Ib2dfd)
- Any.identityHashCode() public api (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 लाइब्रेरी में उपलब्ध नए वर्शन का इस्तेमाल करें. नॉन-मटेरियल ऐप्लिकेशन के लिए, आपको थीमिंग के लिए अपने हिसाब से डिज़ाइन सिस्टम बनाना चाहिए. इसका इस्तेमाल आपके कॉम्पोनेंट में किया जा सकता है. (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 तरीके हटाए गए
- रेडियस के दस्तावेज़ को अपडेट किया गया है. इसमें एलिप्टिकल के साथ-साथ ओवल भी शामिल किया गया है
- दस्तावेज़ जोड़ा गया है. इसमें बताया गया है कि इनलाइन रेडियस क्लास के लिए, पब्लिक कंस्ट्रक्टर को सीधे तौर पर कॉल नहीं किया जाना चाहिए. इसके बजाय, रेडियस ऑब्जेक्ट को उनके फ़ंक्शन कंस्ट्रक्टर के ज़रिए इंस्टैंटिएट किया जाना चाहिए
- RoundRect API हटा दिए गए हैं, ताकि topRight, bottomRight, bottomCenter वगैरह के बारे में क्वेरी की जा सके
- 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 को बंद कर दिया जाएगा. नए Box का व्यवहार यह है कि जब इसमें एक से ज़्यादा चाइल्ड होते हैं, तो उन्हें एक के ऊपर एक रखा जाता है. यह पिछले Box से अलग है, जो Column की तरह काम करता था. (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जोड़ा गया है. इसकी मदद से,AnimationClockObservableके तौर पर MonotonicFrameClock का इस्तेमाल किया जा सकता है. इससे, कॉलबैक पर आधारित पुरानी क्लॉक का इस्तेमाल करने वाले एपीआई और नई को-रूटीन पर आधारित क्लॉक के बीच के अंतर को कम किया जा सकता है.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 का इस्तेमाल करें
- ट्रांज़िशन डीएसएल को बेहतर बनाया गया है. अब Tween और Spring जैसे AnimationSpec बनाने के लिए, लैम्ब्डा की ज़रूरत नहीं होगी. इसके बजाय, वे सीधे तौर पर कंस्ट्रक्टर पैरामीटर लेते हैं.
- AnimationSpec को इस्तेमाल करने में आसानी हो, इसके लिए बिल्डर पर भरोसा करने के बजाय कंस्ट्रक्टर का इस्तेमाल करना
- KeyFrames और Tween के लिए अवधि और देरी को Int में बदलें. इससे, टाइप कास्ट और तरीके के ओवरलोडिंग (Long और Int, दोनों के साथ काम करने के लिए) को खत्म किया जा सकता है. (Ica0b4)
- IntPx की जगह Int का इस्तेमाल किया गया. IntPxPosition की जगह IntOffset का इस्तेमाल किया गया. IntPxSize को IntSize से बदल दिया गया है. (Ib7b44)
- साइज़ की जानकारी दिखाने के लिए इस्तेमाल की गई क्लास की संख्या को कम करने के लिए, PxSize के बजाय Size क्लास का इस्तेमाल करें. इससे इनलाइन क्लास के फ़ायदे मिलते हैं. जैसे, दो फ़्लोट वैल्यू को एक साथ पैक करने के लिए, 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 एपीआई का नया सेट जोड़ा गया. (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 का ऐक्सेस चाहिए वे drawCanvas एक्सटेंशन का इस्तेमाल कर सकते हैं. यह तरीका, Canvas के साथ ड्राइंग कमांड जारी करने के लिए कॉलबैक उपलब्ध कराता है. (I80afd)
- Row और Column में, verticalGravity और horizontalGravity पैरामीटर जोड़े गए. (I7dc5a)
- ui-text मॉड्यूल का नाम बदलकर ui-text-core (I57dec) कर दिया गया है
- DrawModifier API को बेहतर बनाएं:
- 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)
- ओपैसिटी कंपोज़ेबल फ़ंक्शन को 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)