ऐनिमेशन बनाना
androidx.compose.animation
androidx.compose.animation.core
androidx.compose.animation.graphics
(सभी compose पैकेज के लिए एपीआई रेफ़रंस दस्तावेज़ देखें)
नया अपडेट | रिलीज़ किया गया जांचा और परखा हुआ वर्शन | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
---|---|---|---|---|
13 नवंबर, 2024 | 1.7.5 | - | - | 1.8.0-alpha06 |
संरचना
Compose, androidx
में मौजूद सात Maven ग्रुप आईडी का कॉम्बिनेशन है. हर ग्रुप में, सुविधाओं का एक टारगेट किया गया सबसेट होता है. साथ ही, हर ग्रुप के लिए रिलीज़ नोट का अपना सेट होता है.
इस टेबल में, रिलीज़ नोट के हर सेट के ग्रुप और लिंक के बारे में बताया गया है.
ग्रुप | ब्यौरा |
---|---|
compose.animation | उपयोगकर्ता अनुभव को बेहतर बनाने के लिए, अपने Jetpack Compose ऐप्लिकेशन में ऐनिमेशन बनाएं. |
compose.compiler | @Composable फ़ंक्शन को बदलें और Kotlin कंपाइलर प्लग इन की मदद से ऑप्टिमाइज़ेशन चालू करें. |
compose.foundation | इस्तेमाल के लिए तैयार बिल्डिंग ब्लॉक की मदद से, Jetpack Compose ऐप्लिकेशन लिखें. साथ ही, अपना डिज़ाइन सिस्टम बनाने के लिए फ़ाउंडेशन को बढ़ाएं. |
compose.material | इस्तेमाल के लिए तैयार Material Design कॉम्पोनेंट की मदद से, Jetpack Compose यूज़र इंटरफ़ेस (यूआई) बनाएं. यह Compose का सबसे ऊपरी लेवल का एंट्री पॉइंट है. इसे ऐसे कॉम्पोनेंट उपलब्ध कराने के लिए डिज़ाइन किया गया है जो www.material.io पर बताए गए कॉम्पोनेंट से मेल खाते हैं. |
compose.material3 | मटीरियल डिज़ाइन के अगले वर्शन, Material Design 3 कॉम्पोनेंट की मदद से, Jetpack Compose यूज़र इंटरफ़ेस (यूआई) बनाएं. Material 3 में, अपडेट की गई थीम और कॉम्पोनेंट के साथ-साथ, Material You की डाइनैमिक कलर जैसी सुविधाएं शामिल हैं. इसे Android 12 के नए विज़ुअल स्टाइल और सिस्टम यूज़र इंटरफ़ेस (यूआई) के साथ काम करने के लिए डिज़ाइन किया गया है. |
compose.runtime | Compose के प्रोग्रामिंग मॉडल और स्टेटस मैनेजमेंट के बुनियादी बिल्डिंग ब्लॉक. साथ ही, Compose कंपाइलर प्लग इन को टारगेट करने के लिए कोर रनटाइम. |
compose.ui | डिवाइस के साथ इंटरैक्ट करने के लिए, कॉम्पोज़ यूज़र इंटरफ़ेस (यूआई) के बुनियादी कॉम्पोनेंट ज़रूरी हैं. इनमें लेआउट, ड्रॉइंग, और इनपुट शामिल हैं. |
डिपेंडेंसी का एलान करना
Compose पर कोई डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.
अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle
फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:
Groovy
dependencies { implementation "androidx.compose.animation:animation:1.7.5" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.animation:animation:1.7.5") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.
सुझाव
आपके सुझाव, शिकायत या राय से हमें Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या इस लाइब्रेरी को बेहतर बनाने के लिए आपके पास कोई सुझाव है, तो हमें बताएं. नई लाइब्रेरी बनाने से पहले, कृपया इस लाइब्रेरी में मौजूद मौजूदा समस्याओं पर एक नज़र डालें. किसी मौजूदा समस्या पर अपना वोट जोड़ने के लिए, स्टार बटन पर क्लिक करें.
ज़्यादा जानकारी के लिए, समस्या ट्रैकर का दस्तावेज़ देखें.
वर्शन 1.8
वर्शन 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)
बाहरी योगदान
- जब कोई ट्रांज़िशन Steven Schoen से नहीं चल रहा हो, तो आगे-पीछे किया जा सकने वाला ट्रांज़िशन
playTime
सेट करने से रोकें. (c2e6e7e6)
वर्शन 1.7
वर्शन 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 में ये कमिट शामिल हैं.
गड़बड़ियां ठीक की गईं
- ट्रांज़िशन प्रॉपर्टी
totalDurationNanos
को अबsnapshotFlow
में सही तरीके से पढ़ा जा सकता है.
वर्शन 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)
बाहरी योगदान
SeekableTransitionState
animates/snaps by Steven Schoen (1ca89529) के बाद, ऐनिमेशन शुरू होने का समय हटाएं
वर्शन 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
API की परफ़ॉर्मेंस बेहतर हुई है.
वर्शन 1.7.0-alpha05
20 मार्च, 2024
androidx.compose.animation:animation-*:1.7.0-alpha05
रिलीज़ हो गया है. वर्शन 1.7.0-alpha05 में ये कमिट शामिल हैं.
एपीआई में हुए बदलाव
SeekableTransitionState
,snapTo()
कोseekTo()
से बदलता है और एकsnapTo()
जोड़ता है, जो किसी भी तरह के ऐनिमेशन के बिना, स्टेटस को डेस्टिनेशन स्टेटस में तुरंत बदल देता है.
वर्शन 1.7.0-alpha04
6 मार्च, 2024
androidx.compose.animation:animation-*:1.7.0-alpha04
रिलीज़ हो गया है. वर्शन 1.7.0-alpha04 में ये कमिट शामिल हैं.
एपीआई में हुए बदलाव
- पाथ की दिशा बदलने के लिए नया एपीआई
Path.reverse()
(I36348)
वर्शन 1.7.0-alpha03
21 फ़रवरी, 2024
androidx.compose.animation:animation-*:1.7.0-alpha03
रिलीज़ हो गया है. 1.7.0-alpha03 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
- नया
Modifier.animateContentSize
, जो कस्टम कॉन्टेंट अलाइनमेंट के लिए एक अतिरिक्त पैरामीटर लेता है. (I5623a, b/269803907) - साइज़, पोज़िशन या किसी ऐसे अन्य टारगेट को ऐनिमेट करने के लिए नया एक्सपेरिमेंटल
DeferredTargetAnimation
, जिसकी जानकारी इंस्टैंशिएशन के दौरान नहीं होती. (I60745)
वर्शन 1.7.0-alpha02
7 फ़रवरी, 2024
androidx.compose.animation:animation-*:1.7.0-alpha02
रिलीज़ हो गया है. 1.7.0-alpha02 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
KeyframesSpec
के लिए, काम करने से जुड़ी समस्या को ठीक किया गया. (I2bdf3, b/322214617)LazyList
में इस्तेमाल करने पर,Modifier.animateContentSize
ठीक से रीसेट न होने की समस्या को ठीक किया गया. (I070512, b/322525716)- टाइमस्टैंप की तय सीमा से बाहर के टाइमस्टैंप का इस्तेमाल करते समय,
IllegalStateException
कोKeyframesSpec
पर सेट किया गया. (I341b8, b/322839811)
वर्शन 1.7.0-alpha01
24 जनवरी, 2024
androidx.compose.animation:animation-*:1.7.0-alpha01
रिलीज़ हो गया है. 1.7.0-alpha01 वर्शन में ये बदलाव शामिल हैं.
वर्शन 1.6
वर्शन 1.6.8
12 जून, 2024
androidx.compose.animation:animation-*:1.6.8
रिलीज़ हो गया है. वर्शन 1.6.8 में ये बदलाव शामिल हैं.
वर्शन 1.6.7
1 मई, 2024
androidx.compose.animation:animation-*:1.6.7
रिलीज़ हो गया है. वर्शन 1.6.7 में ये बदलाव शामिल हैं.
वर्शन 1.6.6
17 अप्रैल, 2024
androidx.compose.animation:animation-*:1.6.6
रिलीज़ हो गया है. पिछली रिलीज़ के बाद से कोई बदलाव नहीं हुआ
वर्शन 1.6.5
3 अप्रैल, 2024
androidx.compose.animation:animation-*:1.6.5
रिलीज़ हो गया है. वर्शन 1.6.5 में ये बदलाव शामिल हैं.
वर्शन 1.6.4
20 मार्च, 2024
androidx.compose.animation:animation-*:1.6.4
रिलीज़ हो गया है. वर्शन 1.6.4 में ये बदलाव शामिल हैं.
वर्शन 1.6.3
6 मार्च, 2024
androidx.compose.animation:animation-*:1.6.3
रिलीज़ हो गया है. वर्शन 1.6.3 में ये बदलाव शामिल हैं.
वर्शन 1.6.2
21 फ़रवरी, 2024
androidx.compose.animation:animation-*:1.6.2
रिलीज़ हो गया है. 1.6.2 वर्शन में ये बदलाव शामिल हैं.
वर्शन 1.6.1
7 फ़रवरी, 2024
androidx.compose.animation:animation-*:1.6.1
रिलीज़ हो गया है. 1.6.1 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
KeyframesSpec
के लिए, काम करने से जुड़ी समस्या को ठीक किया गया. (I2bdf3, b/322214617)
वर्शन 1.6.0
24 जनवरी, 2024
androidx.compose.animation:animation-*:1.6.0
रिलीज़ हो गया है. 1.6.0 वर्शन में ये बदलाव शामिल हैं.
वर्शन 1.6.0-rc01
10 जनवरी, 2024
androidx.compose.animation:animation-*:1.6.0-rc01
रिलीज़ हो गया है. 1.6.0-rc01 वर्शन में ये कमिट शामिल हैं.
वर्शन 1.6.0-beta03
13 दिसंबर, 2023
androidx.compose.animation:animation-*:1.6.0-beta03
रिलीज़ हो गया है. 1.6.0-beta03 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
AnimatedContentTransitionScope
सेscaleInToFitContainer
औरscaleOutToFitContainer
को कुछ समय के लिए हटा दिया गया है, क्योंकि इनके लिए आगे की जानकारी की ज़रूरत होती है. ये सुविधाएं तब उपलब्ध होंगी, जब आने वाले समय में रिलीज़ होने वाले वर्शन में, 'आगे की जानकारी' सुविधा डिफ़ॉल्ट रूप से चालू होगी या आपने इसके लिए ऑप्ट-इन किया होगा.
वर्शन 1.6.0-beta02
29 नवंबर, 2023
androidx.compose.animation:animation-*:1.6.0-beta02
रिलीज़ हो गया है. 1.6.0-beta02 वर्शन में ये बदलाव शामिल हैं.
वर्शन 1.6.0-beta01
15 नवंबर, 2023
androidx.compose.animation:animation-*:1.6.0-beta01
रिलीज़ हो गया है. 1.6.0-beta01 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
ExitTransition.Hold
को ज़्यादा साफ़ तौर पर बताने के लिए, इसका नाम बदलकरExitTransition.KeepUntilTransitionsFinished
कर दिया गया है. (I1c490)- अब आपके पास, मोनोटोनिक स्प्लिन का इस्तेमाल करके, किसी भी एन-डाइमेंशनल वैल्यू को इंटरपोलेट करने के लिए,
keyframesWithSpline
का इस्तेमाल करने का विकल्प है. यहOffset
,IntOffset
,DpOffset
जैसी पोज़िशनल वैल्यू को इंटरपोलेट करने के लिए खास तौर पर मददगार है. प्रयोग के तौर पर उपलब्ध एपीआई के तौर पर जोड़ा गया.
गड़बड़ियां ठीक की गईं
ArcLine
में स्वीप ग्रेडिएंट के लिए रेंडरर की सुविधा जोड़ें. (I4d5bb)PageSize.Fixed
के लिए equals और hashcode लागू करें. (Ie3ede, b/300134276)- विंडो इनसेट में बदलाव करने से, बाइनरी के साथ काम करने से जुड़ी समस्या को ठीक किया गया. (Iee695)
- Material3 चिप/बटन के लिए, कॉन्टेंट की मुख्य लेयर हटाएं, क्योंकि माइक्रोबेंचमार्क के बिना बेहतर परफ़ॉर्मेंस दिखती है. (I55555)
वर्शन 1.6.0-alpha08
18 अक्टूबर, 2023
androidx.compose.animation:animation-*:1.6.0-alpha08
रिलीज़ हो गया है. 1.6.0-alpha08 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
KeyframesSpecConfig#with
को बंद कर दिया गया है. इसके बजाय,KeyframesSpecConfig#using
का इस्तेमाल करें. इससे बिल्डर पैटर्न को बनाए रखा जा सकता है. (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 के लिए value पैरामीटर का नाम बदला गया (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
के लिए 'आगे देखकर ऐनिमेशन' सुविधा को बेहतर तरीके से इस्तेमाल किया जा सकता है जिनमें शर्त के हिसाब से स्लॉट नहीं होते. जैसे,TabRow
,Scaffold
,BoxWithConstraints
वगैरह.
एपीआई में हुए बदलाव
- नया डिफ़ॉल्ट
intermediateMeasurePolicy
, लाॅकहेड पास से मेज़रमेंट नीति का फिर से इस्तेमाल करता है. इससेSubcomposeLayout
सब-टाइप,Scaffold
,TabRow
, औरBoxWithConstraints
जैसे कंडिशनल स्लॉट के बिना, डिफ़ॉल्ट रूप से लाॅकहेड के साथ काम कर सकते हैं. (Id84c8) - इनफ़िक्स फ़ंक्शन का नाम बदलकर
togetherWith
करें, ताकि स्लाइड में ऑब्जेक्ट जोड़ने और हटाने के ट्रांज़िशन को जोड़ा जा सके. कॉन्टेंट के लिए लैम्ब्डा फ़ंक्शन के तौर पर नयाAnimatedContentScope
. (Ic39ae)
वर्शन 1.5.0-alpha02
5 अप्रैल, 2023
androidx.compose.animation:animation-*:1.5.0-alpha02
रिलीज़ हो गया है. 1.5.0-alpha02 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
SubcomposeLayout
में, आगे की जानकारी देखने की सुविधा के साथ काम करने वाला नया एक्सपेरिमेंटल एपीआई. इससेSubcomposeLayout
,LookaheadScope
में सही तरीके से काम कर पाएगा.SubcomposeLayout
के खास सब-टाइप के लिए, जल्द ही ज़्यादा सहायता उपलब्ध होगी.
एपीआई में हुए बदलाव
- नया
SubcomposeLayout
एपीआई, जो पहले से तय किए गए समय के आधार पर चलने वाले ऐनिमेशन के दौरान, मेज़र/लेआउट लॉजिक को मैनेज करने के लिए, एक और इंटरमीडियरी मेज़र नीति का इस्तेमाल करता है. (I017d3)
वर्शन 1.5.0-alpha01
22 मार्च, 2023
androidx.compose.animation:animation-*:1.5.0-alpha01
रिलीज़ हो गया है. 1.5.0-alpha01 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
AnimatedContent
एपीआई अब स्टेबल हैंAnimatedContentScope
का नाम बदलकरAnimatedContentTransitionScope
कर दिया गया है.scaleIn
औरscaleOut
अब स्टेबल एपीआई हैं. (Iaf54e)
वर्शन 1.4
वर्शन 1.4.3
3 मई, 2023
androidx.compose.animation:animation:1.4.3
, androidx.compose.animation:animation-core:1.4.3
, और androidx.compose.animation:animation-graphics:1.4.3
को बिना किसी बदलाव के रिलीज़ किया गया है. सिर्फ़ वर्शन में बदलाव किया गया है.
वर्शन 1.4.2
19 अप्रैल, 2023
androidx.compose.animation:animation:1.4.2
, androidx.compose.animation:animation-core:1.4.2
, और androidx.compose.animation:animation-graphics:1.4.2
को बिना किसी बदलाव के रिलीज़ किया गया है. 1.4.2 वर्शन में ये बदलाव शामिल हैं.
वर्शन 1.4.1
5 अप्रैल, 2023
androidx.compose.animation:animation:1.4.1
, androidx.compose.animation:animation-core:1.4.1
, और androidx.compose.animation:animation-graphics:1.4.1
को बिना किसी बदलाव के रिलीज़ किया गया है. 1.4.1 वर्शन में ये बदलाव शामिल हैं.
वर्शन 1.4.0
22 मार्च, 2023
androidx.compose.animation:animation:1.4.0
, androidx.compose.animation:animation-core:1.4.0
, और androidx.compose.animation:animation-graphics:1.4.0
रिलीज़ हो गए हैं. 1.4.0 वर्शन में ये बदलाव शामिल हैं.
1.3.0 के बाद किए गए अहम बदलाव
- टूल लेबल, r
ememberInfiniteTransition
औरInfiniteTransition
और ट्रांज़िशन (उदाहरण के लिए,InfiniteTransition#animateColor
) के सभी एक्सटेंशन फ़ंक्शन में काम करता है (I56ef7)
वर्शन 1.4.0-rc01
8 मार्च, 2023
androidx.compose.animation:animation:1.4.0-rc01
, androidx.compose.animation:animation-core:1.4.0-rc01
, और androidx.compose.animation:animation-graphics:1.4.0-rc01
को बिना किसी बदलाव के रिलीज़ किया गया है. 1.4.0-rc01 वर्शन में ये बदलाव शामिल हैं.
वर्शन 1.4.0-beta02
22 फ़रवरी, 2023
androidx.compose.animation:animation:1.4.0-beta02
, androidx.compose.animation:animation-core:1.4.0-beta02
, और androidx.compose.animation:animation-graphics:1.4.0-beta02
को बिना किसी बदलाव के रिलीज़ किया गया है. 1.4.0-beta02 वर्शन में ये बदलाव शामिल हैं.
वर्शन 1.4.0-beta01
8 फ़रवरी, 2023
androidx.compose.animation:animation:1.4.0-beta01
, androidx.compose.animation:animation-core:1.4.0-beta01
, और androidx.compose.animation:animation-graphics:1.4.0-beta01
को बिना किसी बदलाव के रिलीज़ किया गया है. 1.4.0-beta01 वर्शन में ये बदलाव शामिल हैं.
वर्शन 1.4.0-alpha05
25 जनवरी, 2023
androidx.compose.animation:animation:1.4.0-alpha05
, androidx.compose.animation:animation-core:1.4.0-alpha05
, और androidx.compose.animation:animation-graphics:1.4.0-alpha05
रिलीज़ हो गए हैं. 1.4.0-alpha05 वर्शन में ये बदलाव शामिल हैं.
बदलाव
- पिछले अल्फा वर्शन के बाद से, ऐनिमेशन लाइब्रेरी में कोई बदलाव नहीं हुआ है. सिर्फ़ वर्शन में बदलाव किया गया है
वर्शन 1.4.0-alpha04
11 जनवरी, 2023
androidx.compose.animation:animation:1.4.0-alpha04
, androidx.compose.animation:animation-core:1.4.0-alpha04
, और androidx.compose.animation:animation-graphics:1.4.0-alpha04
रिलीज़ हो गए हैं. 1.4.0-alpha04 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
- टूल लेबल,
rememberInfiniteTransition
औरInfiniteTransition
औरTransition
के सभी एक्सटेंशन फ़ंक्शन (उदाहरण के लिए,InfiniteTransition#animateColor
) में काम करता है (I56ef7)
एपीआई में हुए बदलाव
InfiniteTransition#TransitionAnimationState
औरInfiniteTransition#animations
एपीआई अब सार्वजनिक हैं. (I36682)
वर्शन 1.4.0-alpha03
7 दिसंबर, 2022
androidx.compose.animation:animation:1.4.0-alpha03
, androidx.compose.animation:animation-core:1.4.0-alpha03
, और androidx.compose.animation:animation-graphics:1.4.0-alpha03
रिलीज़ हो गए हैं. 1.4.0-alpha03 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- Compose नियम का इस्तेमाल करने वाले यूआई टेस्ट में,
withFrameNanos
कॉलबैक के दौरान फिर से शुरू किए गए कंटिन्यूएशन तब तक डिस्पैच नहीं किए जाएंगे, जब तक सभी फ़्रेम कॉलबैक चलना बंद नहीं हो जाते. यह सामान्य तरीके से चलने पर, लिखने के तरीके से मेल खाता है. हालांकि, पुराने व्यवहार पर आधारित टेस्ट काम नहीं कर सकते. इसका असर सिर्फ़ उस कोड पर पड़ेगा जो सीधेwithFrameNanos
याwithFrameMillis
को कॉल करता है. साथ ही, इसमें कॉलबैक के बाहर का लॉजिक होता है, जो उन फ़ंक्शन को पास किया जाता है जिन्हें कॉलबैक में ले जाने की ज़रूरत पड़ सकती है. उदाहरण के लिए इस सीएल में, ऐनिमेशन टेस्ट में हुए बदलाव देखें. TestMonotonicFrameClock
कंस्ट्रक्टर और फ़ैक्ट्री फ़ंक्शन में वैकल्पिकonPerformTraversals: (Long) -> Unit
पैरामीटर जोड़ा गया है. इससेwithFrameNanos
कॉलबैक के बाद, कोड को चलाया जा सकता है. हालांकि, इसके लिए कॉलर के कोरयूटीन को फिर से शुरू करना ज़रूरी है. (Idb413, b/254115946, b/222093277, b/255802670)- टूल लेबल (Iebe2d) के लिए
AnimatedContent
में नया पैरामीटर
वर्शन 1.4.0-alpha02
9 नवंबर, 2022
androidx.compose.animation:animation:1.4.0-alpha02
, androidx.compose.animation:animation-core:1.4.0-alpha02
, और androidx.compose.animation:animation-graphics:1.4.0-alpha02
रिलीज़ हो गए हैं. 1.4.0-alpha02 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- टूल को Composable के इंटरनल स्टेटस में बदलाव करने की अनुमति देने के लिए,
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 के बाद किए गए अहम बदलाव
- ऐनिमेशन बनाने की सुविधा अब डेवलपर के विकल्पों में मौजूद 'ऐनिमेशन अवधि का स्केल' सेटिंग के साथ काम करती है.
- एक्सपेरिमेंट के तौर पर उपलब्ध, आसानी से बदलने वाले नए कर्व का बड़ा कलेक्शन.
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 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- वेक्टर ड्रॉबल की पार्सिंग को अपडेट किया गया है, ताकि मौजूदा लेआउट की दिशा RTL होने पर,
VectorPainter
के कॉन्टेंट को अपने-आप मिरर किया जा सके. (I79cd9, b/185760237)
गड़बड़ियां ठीक की गईं
@UiComposable
के बजाय, सही कंपोजेबल एनोटेशन@VectorComposable
का इस्तेमाल करने के लिए, वेक्टर ग्राफ़िक्स एपीआई को अपडेट किया गया (I942bc)
वर्शन 1.2.0-alpha05
9 मार्च, 2022
androidx.compose.animation:animation:1.2.0-alpha05
, androidx.compose.animation:animation-core:1.2.0-alpha05
, और androidx.compose.animation:animation-graphics:1.2.0-alpha05
रिलीज़ हो गए हैं. 1.2.0-alpha05 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- हुर्रे! ऐनिमेशन बनाने की सुविधा अब डेवलपर के विकल्पों में मौजूद, 'ऐनिमेशन अवधि का स्केल' सेटिंग के साथ काम करती है. (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 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList
परNullPointerException
को ठीक करें (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 के साथ, Material कॉम्पोनेंट अपने लेआउट स्पेस को बड़ा कर देंगे, ताकि टच टारगेट साइज़ के लिए Material के सुलभता के दिशा-निर्देशों को पूरा किया जा सके. उदाहरण के लिए, बटन के टच टारगेट का साइज़ कम से कम 48x48dp होगा. भले ही, आपने बटन का साइज़ छोटा सेट किया हो. इससे, Compose Material को Material Design कॉम्पोनेंट के काम करने के तरीके के हिसाब से अलाइन किया जाता है. इससे, व्यू और 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 फ़ैक्ट्री में मौजूद lambdas को पैरामीटर सूची में आखिरी पोज़िशन पर ले जाया गया है. (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 अब दोहराए जाने वाले और बार-बार दोहराए जाने वाले विकल्पों के साथ काम करता है. इसकी मदद से, ऐनिमेशन शुरू होने में लगने वाले समय में देरी की जा सकती है या ऐनिमेशन शुरू होने से पहले उसे तेज़ी से आगे बढ़ाया जा सकता है. शुरुआत का यह ऑफ़सेट दोहराया नहीं जाएगा (Ic679f, b/195079908)
- स्केल के लिए नया एंटर/एग्ज़िट ट्रांज़िशन. इसका इस्तेमाल, एंटर/एग्ज़िट ट्रांज़िशन के दूसरे टाइप के साथ किया जा सकता है. (I372da, b/191325593)
वर्शन 1.1.0-alpha01
4 अगस्त, 2021
androidx.compose.animation:animation:1.1.0-alpha01
, androidx.compose.animation:animation-core:1.1.0-alpha01
, और androidx.compose.animation:animation-graphics:1.1.0-alpha01
रिलीज़ हो गए हैं. 1.1.0-alpha01 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
AnimatedImageVector
और उससे जुड़े एपीआई, अब नएandroidx.compose.animation:animation-graphics
मॉड्यूल में मौजूद हैं. (I60873)
गड़बड़ियां ठीक की गईं
InfiniteAnimationPolicy
को :compose:ui पर ले जाया गया (I5eb09, b/160602714)
संस्करण 1.0
वर्शन 1.0.5
3 नवंबर, 2021
androidx.compose.animation:animation:1.0.5
और androidx.compose.animation:animation-core:1.0.5
रिलीज़ हो गए हैं. 1.0.5 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- derivedStateOf इंस्टेंस को क्रैश ट्रैकिंग से जुड़ी समस्या ठीक की गई. (aosp/1792247)
वर्शन 1.0.4
13 अक्टूबर, 2021
androidx.compose.animation:animation:1.0.4
और androidx.compose.animation:animation-core:1.0.4
रिलीज़ हो गए हैं. 1.0.4 वर्शन में ये बदलाव शामिल हैं.
डिपेंडेंसी से जुड़े अपडेट
- Kotlin
1.5.31
पर निर्भर करने के लिए अपडेट किया गया
वर्शन 1.0.3
29 सितंबर, 2021
androidx.compose.animation:animation:1.0.3
और androidx.compose.animation:animation-core:1.0.3
रिलीज़ हो गए हैं. 1.0.3 वर्शन में ये बदलाव शामिल हैं.
डिपेंडेंसी से जुड़े अपडेट
- Kotlin
1.5.30
पर निर्भर करने के लिए अपडेट किया गया
वर्शन 1.0.2
1 सितंबर, 2021
androidx.compose.animation:animation:1.0.2
और androidx.compose.animation:animation-core:1.0.2
रिलीज़ हो गए हैं. 1.0.2 वर्शन में ये बदलाव शामिल हैं.
Compose 1.0.2
रिलीज़ के साथ काम करने के लिए अपडेट किया गया. Compose 1.0.2
, अब भी Kotlin 1.5.21
के साथ काम करता है.
वर्शन 1.0.1
4 अगस्त, 2021
androidx.compose.animation:animation:1.0.1
और androidx.compose.animation:animation-core:1.0.1
रिलीज़ हो गए हैं. 1.0.1 वर्शन में ये बदलाव शामिल हैं.
डिपेंडेंसी से जुड़े अपडेट
- Kotlin
1.5.21
पर निर्भर करने के लिए अपडेट किया गया.
वर्शन 1.0.0
28 जुलाई, 2021
androidx.compose.animation:animation:1.0.0
और androidx.compose.animation:animation-core:1.0.0
रिलीज़ हो गए हैं. 1.0.0 वर्शन में ये बदलाव शामिल हैं.
1.0.0 के मुख्य फ़ीचर
यह Compose का पहला स्टेबल वर्शन है. ज़्यादा जानकारी के लिए, कृपया Compose रिलीज़ का आधिकारिक ब्लॉग देखें!
आम समस्याएं
अगर Android Studio Bumblebee Canary 4 या AGP
7.1.0-alpha04
/7.1.0-alpha05
का इस्तेमाल किया जा रहा है, तो आपको क्रैश होने की यह समस्या आ सकती है:java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
इसे ठीक करने के लिए, अपनी
build.gradle
फ़ाइल में minSdkVersion को कुछ समय के लिए 24 या उसके बाद के वर्शन पर सेट करें. यह समस्या, Android Studio Bumblebee और AGP7.1
के अगले वर्शन में ठीक कर दी जाएगी. (b/194289155)
वर्शन 1.0.0-rc02
14 जुलाई, 2021
androidx.compose.animation:animation:1.0.0-rc02
और androidx.compose.animation:animation-core:1.0.0-rc02
रिलीज़ हो गए हैं. 1.0.0-rc02 वर्शन में ये कमिट शामिल हैं.
वर्शन 1.0.0-rc01
1 जुलाई, 2021
androidx.compose.animation:animation:1.0.0-rc01
और androidx.compose.animation:animation-core:1.0.0-rc01
रिलीज़ हो गए हैं. 1.0.0-rc01 वर्शन में ये कमिट शामिल हैं.
गड़बड़ियां ठीक की गईं
InfiniteAnimationPolicy
कोandroidx.compose.ui:ui
(I5eb09, b/160602714) पर ले जाया गया
वर्शन 1.0.0-beta09
16 जून, 2021
androidx.compose.animation:animation:1.0.0-beta09
और androidx.compose.animation:animation-core:1.0.0-beta09
रिलीज़ हो गए हैं. 1.0.0-beta09 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- नया
AnimatedContent
कॉम्पोज़ेबल. यह अपने कॉन्टेंट में बदलाव को मैनेज करता है. इसके लिए, यह पसंद के मुताबिक बनाए जा सकने वालेContentTransform
का इस्तेमाल करता है. ऐसा तब होता है, जब नया टारगेट कॉन्टेंट दिखने लगता है और शुरुआती कॉन्टेंट दिखना बंद हो जाता है. पसंद के मुताबिक लुक और स्टाइल बनाने के लिए, स्क्रीन पर दिखने और उससे बाहर निकलने के अलग-अलग ट्रांज़िशन का इस्तेमाल किया जा सकता है. कॉन्टेंट ट्रांसफ़ॉर्मेशन के तहत,AnimatedContent
आने वाले कॉन्टेंट से मैच करने के लिए, अपने साइज़ को अपने-आप ऐनिमेट करता है. (I2c3df) ManualFrameClock
को हटा दिया गया है. अगर आपको ऐनिमेशन कंट्रोल करने हैं, तो इसके बजायcomposeTestRule.mainClock
का इस्तेमाल करें. (I3c3e8, b/189951065)
प्रोफ़ाइल के लिए नियम जोड़े गए
इस रिलीज़ में, इन कॉम्पोज़ मॉड्यूल (I14ed6) में प्रोफ़ाइल के नियम जोड़े गए हैं:
- androidx.compose.animation
- androidx.compose.animation-core
- androidx.compose.foundation
- androidx.compose.foundation-layout
- androidx.compose.material
- androidx.compose.material-ripple
- androidx.compose.runtime
- androidx.compose.ui
- androidx.compose.ui.geometry
- androidx.compose.ui.graphics
- androidx.compose.ui.text
- androidx.compose.ui.text
- androidx.compose.ui.unit
- androidx.compose.ui.util
प्रोफ़ाइल के नियम क्या होते हैं?
किसी लाइब्रेरी के लिए प्रोफ़ाइल के नियम,
src/main
या मिलती-जुलती डायरेक्ट्री में मौजूद टेक्स्ट फ़ाइलbaseline-prof.txt
में बताए जाते हैं. फ़ाइल में हर लाइन के लिए एक नियम तय किया जाता है. इस मामले में, नियम लाइब्रेरी में मौजूद तरीकों या क्लास से मैच करने के लिए एक पैटर्न होता है. इन नियमों का सिंटैक्स, ART प्रोफ़ाइल के ऐसे फ़ॉर्मैट का सुपरसेट है जिसे कोई भी व्यक्ति पढ़ सकता है. इसका इस्तेमाल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
फ़्लैग होता है उससे पता चलता है कि यह स्टार्टअप के बाद कॉल किया जाने वाला तरीका है.इस फ़ाइल में मौजूद किसी क्लास का मतलब है कि उसका इस्तेमाल स्टार्टअप के दौरान किया जाता है. साथ ही, क्लास लोड होने में लगने वाले समय को बचाने के लिए, उसे पहले से ही हेप में असाइन किया जाना चाहिए.
यह कैसे काम करता है?
- लाइब्रेरी ये नियम तय कर सकती हैं, जिन्हें AAR आर्टफ़ैक्ट में पैकेज किया जाएगा. जब इन आर्टफ़ैक्ट वाले ऐप्लिकेशन को बनाया जाता है, तो इन नियमों को आपस में मर्ज कर दिया जाता है. इसके बाद, मर्ज किए गए नियमों का इस्तेमाल, ऐप्लिकेशन के हिसाब से एक छोटी बाइनरी ART प्रोफ़ाइल बनाने के लिए किया जाता है. इसके बाद, जब ऐप्लिकेशन को डिवाइसों पर इंस्टॉल किया जाता है, तो ART इस प्रोफ़ाइल का फ़ायदा ले सकता है. इससे, ऐप्लिकेशन की परफ़ॉर्मेंस को बेहतर बनाने के लिए, ऐप्लिकेशन के किसी खास सबसेट को पहले से कंपाइल किया जा सकता है. खास तौर पर, ऐप्लिकेशन को पहली बार चलाने पर. ध्यान दें कि इससे, डीबग किए जा सकने वाले ऐप्लिकेशन पर कोई असर नहीं पड़ेगा.
वर्शन 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 कॉलबैक में change.consumePositionChange को कॉल करने की ज़रूरत नहीं है (I42fc4, b/185096350, b/187320697) 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
के बाहर भी ऐनिमेशन की स्थितियों को देखा जा सकता है.- ट्रांज़िशन में, बच्चे के ट्रांज़िशन की नई सुविधा
- AnimationScope.transition का इस्तेमाल करके, AnimatedVisibility में कस्टम तरीके से बाहर निकलने/अंदर आने के ट्रांज़िशन ऐनिमेशन के साथ काम करना
- नया animateEnterExit मॉडिफ़ायर, AnimatedVisibility के सभी बच्चों के लिए ऐक्सेस किया जा सकता है
- AnimatedVisibility API को बंद कर दिया गया है. ये ऐसे एपीआई हैं जो
initiallyVisible
पैरामीटर (I702f3) लेते हैं
वर्शन 1.0.0-beta06
5 मई, 2021
androidx.compose.animation:animation:1.0.0-beta06
और androidx.compose.animation:animation-core:1.0.0-beta06
रिलीज़ हो गए हैं. 1.0.0-beta06 वर्शन में ये बदलाव शामिल हैं.
वर्शन 1.0.0-beta05
21 अप्रैल, 2021
androidx.compose.animation:animation:1.0.0-beta05
और androidx.compose.animation:animation-core:1.0.0-beta05
रिलीज़ हो गए हैं. 1.0.0-beta05 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- ui-test-manifest और ui-tooling-data की AndroidManifest फ़ाइलें अब Android 12 (I6f9de, b/184718994) के साथ काम करती हैं
वर्शन 1.0.0-beta04
7 अप्रैल, 2021
androidx.compose.animation:animation:1.0.0-beta04
और androidx.compose.animation:animation-core:1.0.0-beta04
रिलीज़ हो गए हैं. 1.0.0-beta04 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
RowScope
,ColumnScope
,BoxScope
,BoxWithConstraintsScope
के सार्वजनिक इंस्टेंस हटा दिए गए. (I4e83e, b/181869067)
वर्शन 1.0.0-beta03
24 मार्च, 2021
androidx.compose.animation:animation:1.0.0-beta03
और androidx.compose.animation:animation-core:1.0.0-beta03
रिलीज़ हो गए हैं. 1.0.0-beta03 वर्शन में ये बदलाव शामिल हैं.
वर्शन 1.0.0-beta02
10 मार्च, 2021
androidx.compose.animation:animation:1.0.0-beta02
और androidx.compose.animation:animation-core:1.0.0-beta02
रिलीज़ हो गए हैं. 1.0.0-beta02 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई के सार्वजनिक इस्तेमाल पर पाबंदियां लगाना (I6aa29, b/174531520)
वर्शन 1.0.0-beta01
24 फ़रवरी, 2021
androidx.compose.animation:animation:1.0.0-beta01
और androidx.compose.animation:animation-core:1.0.0-beta01
रिलीज़ हो गए हैं. 1.0.0-beta01 वर्शन में ये बदलाव शामिल हैं.
यह Compose 1.0.0 बीटा वर्शन की पहली रिलीज़ है.
एपीआई में हुए बदलाव
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)
- ओरिएंटेशन को फ़ाउंडेशन पैकेज में ले जाया गया है. VelocityTracker को ui.gesture से ui.input.pointer में ले जाया गया. (Iff4a8, b/175294473)
- AnimationClockObservable और सबक्लास हटा दिए गए हैं. AnimatedFloat को हटा दिया गया है. (Icde52, b/177457083)
- Modifier.draggable अब सामान्य लैम्ब्डा के बजाय DraggableState स्वीकार करता है. पहले जैसा व्यवहार पाने के लिए,
rememberDraggableState { delta -> }
की मदद से स्टेटस बनाया जा सकता है (Ica70f, b/175294473) - animate, animatedValue, AnimatedValue एपीआई हटा दिए गए हैं (If27bc, b/177457083)
- AnimationEndReason.Interrupted को हटा दिया गया है. अगर ऐनिमेशन में रुकावट आती है, तो CancellationException का मैसेज दिखेगा. (I2cbbc, b/179695417)
- TargetAnimation API को हटा दिया गया है. (If47d1, b/177457083)
वर्शन 1.0.0-alpha12
10 फ़रवरी, 2021
androidx.compose.animation:animation:1.0.0-alpha12
और androidx.compose.animation:animation-core:1.0.0-alpha12
रिलीज़ हो गए हैं. 1.0.0-alpha12 वर्शन में ये कमिट शामिल हैं.
एपीआई में हुए बदलाव
Modifier.pointerInput
को अब याद रखने वाली कुंजियों की ज़रूरत है, ताकि यह पता चल सके कि नई डिपेंडेंसी के लिए, पॉइंटर इनपुट डिटेक्शन कोरुटाइन को कब रीस्टार्ट करना चाहिए. (I849cd)- Bounds का नाम बदलकर DpRect (I4b32a) कर दिया गया है
- ऐनिमेशन सिस्टम में, AnimationSpec के पैरामीटर के नाम को animationSpec पर एकीकृत किया गया. FiniteAnimationSpec को स्वीकार करने के लिए, Enter/ExitTransition पर भी पाबंदी लगाएं. (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) - क्रॉसफ़ेड के तरीके के हस्ताक्षर को अपडेट किया गया, ताकि वह बाकी ऐनिमेशन सिस्टम के साथ ज़्यादा मेल खा सके. (Ib05ed, b/177457083)
- rememberSavedInstanceState() का नाम बदलकर rememberSaveable() कर दिया गया है. साथ ही, इसे androidx.compose.runtime.saveable पैकेज में ले जाया गया है. (I1366e, b/177338004)
- RestorableStateHolder का नाम बदलकर SaveableStateHolder कर दिया गया है और इसे androidx.compose.runtime.saveable पैकेज में ले जाया गया है. अंदरूनी तरीके RestorableStateProvider का नाम बदलकर SaveableStateProvider कर दिया गया. सामान्य टाइप को हटा दिया गया है, ताकि आप किसी भी कीवर्ड के तौर पर पास कर सकें. एक्सपेरिमेंट के तौर पर एनोटेशन की ज़रूरत अब नहीं है. (I0902e, b/174598702)
- बाकी ऐनिमेशन सिस्टम के साथ काम करने के लिए, Modifier.animateContentSize API को अपडेट किया गया है. (I0bf75, b/177457083)
- AnimatedValue/Float का इस्तेमाल अब नहीं किया जा सकता. इसके बजाय, कृपया Animatable का इस्तेमाल करें. (I71345, b/177457083)
- tapGestureFilter, doubleTapGestureFilter, longPressGestureFilter, और pressIndicaitonGestureFilter अब काम नहीं करते. इसके बजाय, detectTapGestures फ़ंक्शन के साथ Modifier.clickable या Modifier.pointerInput का इस्तेमाल करें. (I6baf9, b/175294473)
InfiniteAnimationPolicy
कोरुटिन कॉन्टेक्स्ट एलिमेंट को जोड़ा गया है. इसे अनलिमिटेड ऐनिमेशन में लागू किया जाएगा. डिफ़ॉल्ट रूप से कोई नीति इंस्टॉल नहीं होती. हालांकि,ComposeTestRule
के साथ टेस्ट चलाने पर नीति इंस्टॉल हो जाती है. (I50ec4, b/151940543)- Destructuring और copy() तरीकों को कई क्लास से हटा दिया गया है, जहां इनका इस्तेमाल बहुत कम किया जाता था. (I26702, b/178659281)
- ऐनिमेशन में चलने का समय अब नैनोसेकंड में तय नहीं किया जा सकता (If776a)
- compose:runtime-dispatch आर्टफ़ैक्ट अब काम नहीं करता. MonotonicFrameClock को अब compose:runtime में और AndroidUiDispatcher को compose:ui में देखा जा सकता है. (Ib5c36)
Animation.isInfinite
औरVectorizedAnimationSpec.isInfinite
जोड़े गए हैं. इनसे यह पता चलता है कि कोई ऐनिमेशन, अनंत है या नहीं. इसका इस्तेमाल ऐनिमेशन लागू करने के लिए किया जा सकता है, ताकि ऐसे ऐनिमेशन को खास तौर पर हैंडल किया जा सके. उदाहरण के लिए, "बचे हुए समय" का कोई खास मैसेज दिखाया जा सकता है. इसके अलावा, जांच के दौरान ऐनिमेशन को रद्द किया जा सकता है, ताकि इंतज़ार के दौरान उपयोगकर्ता का ध्यान न भटके. (Iebb05, b/151940543)- ऐनिमेशन के समय के टाइप के तौर पर, अपटाइम के बजाय लंबी अवधि का इस्तेमाल करें (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 के स्टेटफ़ुल पैरामीटर इंटरफ़ेस में बदलाव करके,
State<T>
दिखाने वाले @Composable फ़ंक्शन जोड़ता है. Animatable.asState() जोड़ता है, ताकि Animatable को State में आसानी से बदला जा सके. साथ ही, animateElevation को Animatable पर निलंबित किए जाने वाले एक्सटेंशन में बदलता है. (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)
- Easing को फ़ंक्शनल इंटरफ़ेस (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) के मुताबिक हो- Position का नाम बदलकर DpOffset कर दिया गया और getDistance() को हटा दिया गया (Ib2dfd)
- Any.identityHashCode() पब्लिक एपीआई हटाया गया (I025d7)
गड़बड़ियां ठीक की गईं
- कोरुटाइन पर आधारित नया एपीआई
Animatable
, जो ऐनिमेशन के बीच एक-दूसरे को एक्सक्लूज़िव बनाता है. कई डाइमेंशन वाले डेकेयर ऐनिमेशन के साथ काम करने के लिए, नया DecayAnimationSpec (I820f2, b/168014930) animate()
को अबanimateAsState()
से बदल दिया गया है, जोT
के बजायState<T>
दिखाता है. इससे परफ़ॉर्मेंस बेहतर होती है, क्योंकि अमान्य करने के दायरे को उस जगह तक सीमित किया जा सकता है जहां स्टेटस वैल्यू पढ़ी जाती है. (Ib179e)
वर्शन 1.0.0-alpha09
16 दिसंबर, 2020
androidx.compose.animation:animation:1.0.0-alpha09
और androidx.compose.animation:animation-core:1.0.0-alpha09
रिलीज़ हो गए हैं. 1.0.0-alpha09 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- Dp.VectorConverter, Position.VectorConverter वगैरह को ऐनिमेशन-कोर में ले जाया गया है. साथ ही, पुराने VectorConveters (If0c4b) को बंद कर दिया गया है
- ट्रांज़िशन एपीआई का एक नया सेट लॉन्च किया गया है. इसकी मदद से, ऐनिमेशन को डाइनैमिक तौर पर जोड़ा जा सकता है और डाइनैमिक तौर पर कैलकुलेट किए गए ऐनिमेशन टारगेट का इस्तेमाल किया जा सकता है. साथ ही, इसे इस्तेमाल करना पहले के मुकाबले आसान हो गया है. इन एपीआई को एक्सपेरिमेंट के तौर पर मार्क किया गया है, ताकि इन्हें TransitionDefinition पर आधारित एपीआई से आसानी से अलग किया जा सके. (Ia7fe3)
गड़बड़ियां ठीक की गईं
- ऑफ़सेट मॉडिफ़ायर में मौजूद Lambdas, अब Float के बजाय 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 एपीआई जोड़े गए हैं.
- Modifier.drawOpacity का नाम बदलकर Modifier.alpha कर दिया गया
- Modifier.drawShadow का नाम बदलकर Modifier.shadow कर दिया गया (I264ca, b/173208140)
- PointerInputData के uptime और position फ़ील्ड के लिए, वैल्यू सबमिट करना ज़रूरी है. (Id468a)
- offsetPx मॉडिफ़ायर का नाम बदलकर offset कर दिया गया. अब ये स्टेट के बजाय, लैंब्डा पैरामीटर ले रहे हैं. (Ic3021, b/173594846)
- कोरूटीन में ऐनिमेशन चलाने के लिए नए एपीआई (Ied662)
Ambient
को सफ़िक्स के तौर पर इस्तेमाल करके बनाए गए ऐंबियंट को बंद कर दिया गया है. साथ ही, उन्हें ऐंबियंट के प्रीफ़िक्स वाली नई प्रॉपर्टी से बदल दिया गया है. ऐसा, ऐंबियंट और Compose API के अन्य दिशा-निर्देशों के मुताबिक किया गया है. (I33440)- टेस्ट में समय कंट्रोल (TestAnimationClock और इसका इस्तेमाल) अब एक्सपेरिमेंट के तौर पर उपलब्ध है (I6ef86, b/171378521)
- पुराने ui-test मॉड्यूल और उसके स्टब (I3a7cb) हटाएं
RestorableStateHolder.withRestorableState
फ़ंक्शन का नाम बदलकरRestorableStateProvider
(I66640) कर दिया गया है- अलाइनमेंट इंटरफ़ेस को अपडेट किया गया और उसे काम करने लायक बनाया गया. (I46a07, b/172311734)
वर्शन 1.0.0-alpha07
11 नवंबर, 2020
androidx.compose.animation:animation:1.0.0-alpha07
और androidx.compose.animation:animation-core:1.0.0-alpha07
रिलीज़ हो गए हैं. 1.0.0-alpha07 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- फ़ाउंडेशन AmbientTextStyle, ProvideTextStyle, और AmbientContentColor अब काम नहीं करते. इसके बजाय, Material लाइब्रेरी में मौजूद नए वर्शन का इस्तेमाल करें. जो ऐप्लिकेशन Material नहीं हैं उनके लिए, आपको अपने डिज़ाइन सिस्टम के हिसाब से थीम वाले ऐसे ऐंबियंट बनाने चाहिए जिन्हें आपके कॉम्पोनेंट में इस्तेमाल किया जा सके. (I74acc, b/172067770)
- foundation.Text का इस्तेमाल बंद कर दिया गया है और इसे material.Text से बदल दिया गया है. अगर आपको कोई ऐसा बुनियादी टेक्स्ट एपीआई चाहिए जो किसी थीम की वैल्यू का इस्तेमाल न करता हो, तो androidx.compose.foundation.BasicText देखें. (If64cb)
- MeasureResult को MeasureScope से हटा दिया गया है. (Ibf96d, b/171184002)
- लेआउट से जुड़े कई सिंबल को androidx.compose.ui से androidx.compose.layout.ui में ले जाया गया. (I0fa98, b/170475424)
वर्शन 1.0.0-alpha06
28 अक्टूबर, 2020
androidx.compose.animation:animation:1.0.0-alpha06
और androidx.compose.animation:animation-core:1.0.0-alpha06
रिलीज़ हो गए हैं. 1.0.0-alpha06 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- ComposeTestRule में ट्रांज़िशन चालू करें; ComposeTestRule से, ब्लिंक करने वाले कर्सर को चालू करने का विकल्प हटाएं. (If0de3)
वर्शन 1.0.0-alpha05
14 अक्टूबर, 2020
androidx.compose.animation:animation:1.0.0-alpha05
और androidx.compose.animation:animation-core:1.0.0-alpha05
रिलीज़ हो गए हैं. 1.0.0-alpha05 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- नया ऐनिमेशन इंटरफ़ेस और सबक्लास: ये क्लास, ऐनिमेशन के शुरू और खत्म होने की शर्तों को सेव करती हैं. इसलिए, इनकी मदद से सिर्फ़ प्लेटाइम के ज़रिए वैल्यू और वेग की क्वेरी की जा सकती है (Ie95bd, b/163329867)
गड़बड़ियां ठीक की गईं
- OnPositionedModifier का नाम बदलकर OnGloballyPositionedModifier कर दिया गया है और onPositioned() का नाम बदलकर onGloballyPositioned कर दिया गया है. (I587e8, b/169083903)
contentColor() और currentTextStyle() एपीआई को बंद कर दिया गया है. साथ ही, उन्हें AmbientContentColor और AmbientTextStyle ऐंबियंट की जगह पर इस्तेमाल किया जा सकता है. किसी भी अन्य ऐंबियंट की तरह, ऐंबियंट प्रॉपर्टी पर
.current
का इस्तेमाल करके, मौजूदा वैल्यू को ऐक्सेस किया जा सकता है. यह बदलाव, एक ही काम को करने के लिए कई तरीकों से बचने और एक जैसी सुविधा देने के लिए किया गया था. इसके अलावा, कुछ ऐंबियंट प्रॉपर्टी के नाम बदले गए हैं, ताकि उनके मकसद के बारे में बेहतर तरीके से बताया जा सके. इन प्रॉपर्टी के नाम इस तरह हैं:- ContentColorAmbient -> AmbientContentColor
- TextStyleAmbient -> AmbientTextStyle
- IndicationAmbient -> AmbientIndication
- EmphasisAmbient -> AmbientEmphasisLevels
- RippleThemeAmbient -> AmbientRippleTheme (I37b6d)
वर्शन 1.0.0-alpha04
1 अक्टूबर, 2020
androidx.compose.animation:animation:1.0.0-alpha04
और androidx.compose.animation:animation-core:1.0.0-alpha04
रिलीज़ हो गए हैं. 1.0.0-alpha04 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- @VisibleForTesting के साथ एनोटेट किए गए rootAnimationClockFactory, transitionsEnabled, blinkingCursorEnabled, और textInputServiceFactory को इंटरनल एपीआई बनाएं और उनके kdoc को छिपाएं (I554eb, b/168308412)
गड़बड़ियां ठीक की गईं
- कई Graphics API अपडेट किए गए
- स्केल और रोटेशन ट्रांसफ़ॉर्मेशन एपीआई को अपडेट किया गया है, ताकि DrawScope और DrawTransform में x/y निर्देशांक के लिए अलग-अलग फ़्लोट पैरामीटर के बजाय, पिवट निर्देशांक दिखाने के लिए एक ऑफ़सेट पैरामीटर का इस्तेमाल किया जा सके
- Rect.expandToInclude और Rect.join methods को हटाया गया
- दायरे के दस्तावेज़ को अपडेट किया गया, ताकि अंडाकार के साथ-साथ, दीर्घवृत्ताकार के बारे में भी बताया जा सके
- दस्तावेज़ जोड़ा गया है, ताकि यह पता चल सके कि इनलाइन Radius क्लास के लिए, पब्लिक कन्स्ट्रक्टर को सीधे तौर पर नहीं बुलाया जाना चाहिए. इसके बजाय, Radius ऑब्जेक्ट को उनके फ़ंक्शन कन्स्ट्रक्टर के ज़रिए इंस्टैंशिएट किया जाना चाहिए
- topRight, bottomRight, bottomCenter वगैरह के बारे में क्वेरी करने के लिए, RoundRect APIs को हटा दिया गया है.
- Rect.translate के पक्ष में Rect.shift को बंद कर दिया गया है
- RoundRect.grow और Rect.shrink एपीआई हटाए गए
- RoundRect.outerRect का नाम बदलकर Rect.boundingRect किया गया
- RoundRect.middleRect/tallMiddleRect/wideMiddleRect और Rect.isStadium तरीकों को हटाया गया
- RoundRect.longestSide का नाम बदलकर RoundRect.maxDimension कर दिया गया
- RoundRect.shortestSide का नाम बदलकर RoundRect.minDimension कर दिया गया
- RoundRect.center को फ़ंक्शन के बजाय प्रॉपर्टी में बदल दिया गया
- x/y त्रिज्या की वैल्यू के लिए, अलग-अलग पैरामीटर के बजाय त्रिज्या प्रॉपर्टी का इस्तेमाल करने के लिए, RoundRect कन्स्ट्रक्टर को अपडेट किया गया
- साइज़ एपीआई हटा दिए गए हैं, जो यह मानते थे कि यह 0,0 पर ऑरिजिन वाला रेक्टैंगल है
- Radius में डेस्ट्रक्टिंग एपीआई जोड़ा गया
- RoundRect एक्सटेंशन के अलग-अलग फ़ंक्शन को प्रॉपर्टी के तौर पर माइग्रेट किया गया
- (I8f5c7, b/168762961)
- foundation.Box अब काम नहीं करता. इसके बजाय, कृपया foundation.layout.Box का इस्तेमाल करें. (Ie5950, b/167680279)
- स्टैक का नाम बदलकर Box कर दिया गया. compose.foundation.layout में मौजूदा बॉक्स को हटा दिया जाएगा और इसके बजाय, नया बॉक्स जोड़ा जाएगा. नए बॉक्स में, एक से ज़्यादा चाइल्ड एलिमेंट होने पर, वे एक-दूसरे के ऊपर स्टैक हो जाते हैं. यह पिछले बॉक्स से अलग है, जो कॉलम की तरह काम करता था. (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 composable के साथ काम करने के लिए पेश किए गए हैं. इनकी मदद से, कॉम्पोनेंट के दिखने और न दिखने के लिए तीन तरह के ऐनिमेशन दिए जा सकते हैं: फ़ेड, स्लाइड, और कॉन्टेंट को बड़ा/छोटा करना. अलग-अलग तरह के ऐनिमेशन को एक साथ जोड़कर, अपनी पसंद के मुताबिक लुक और स्टाइल बनाया जा सकता है. (Idda11)
Rect के पक्ष में PxBounds को बंद कर दिया गया है. PxBounds के सभी इस्तेमाल को रेक्ट के साथ अपडेट किया गया है. साथ ही, माइग्रेशन में मदद करने के लिए, एनोटेशन के साथ सही तरीके से 'इस्तेमाल न करें'/'इसकी जगह यह इस्तेमाल करें' जोड़ा गया है. (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 का इस्तेमाल करें
- ट्वीन, स्प्रिंग जैसी ऐनिमेशन स्पेसिफ़िकेशन बनाने के लिए, लैम्ब्डा की ज़रूरत को हटाकर ट्रांज़िशन डीएसएल को बेहतर बनाएं. इसके बजाय, वे सीधे तौर पर कंस्ट्रक्टर पैरामीटर लेते हैं.
- बिल्डर पर भरोसा करने के बजाय, कन्स्ट्रक्टर को खोलकर, AnimationSpec के इस्तेमाल को आसान बनाएं
- KeyFrames और Tween के लिए, अवधि और देरी को Int में बदलें. इससे, Long और Int, दोनों के साथ काम करने के लिए, ज़रूरत के बिना टाइप कास्ट और मेथड ओवरलोडिंग की सुविधा हट जाती है. (Ica0b4)
- IntPx के इस्तेमाल को Int से बदला गया. IntPxPosition को IntOffset से बदला गया. IntPxSize को IntSize से बदला गया. (Ib7b44)
- साइज़ की जानकारी दिखाने के लिए इस्तेमाल की जाने वाली क्लास की संख्या को कम करने के लिए, PxSize के बजाय साइज़ क्लास का इस्तेमाल करें. इससे, इनलाइन क्लास के फ़ायदे मिलते हैं. इनसे, दो फ़्लोट वैल्यू को पैक करने के लिए लंबी वैल्यू का फ़ायदा मिलता है. इन वैल्यू से, चौड़ाई और ऊंचाई को फ़्लोट के तौर पर दिखाया जाता है. (Ic0191)
- पोज़िशन की जानकारी दिखाने के लिए इस्तेमाल की जाने वाली क्लास की संख्या को कम करने के लिए, PxPosition के बजाय Offset क्लास के इस्तेमाल को स्टैंडर्ड बनाएं. इससे, इनलाइन क्लास के फ़ायदे मिलते हैं. इनमें, दो फ़्लोट वैल्यू को पैक करने के लिए लॉन्ग का फ़ायदा लेना शामिल है. इन वैल्यू का इस्तेमाल, x और y ऑफ़सेट को फ़्लोट के तौर पर दिखाने के लिए किया जाता है. (I3ad98)
- पिक्सल पैरामीटर के लिए सिर्फ़ Dp और प्राइमिटिव टाइप पर भरोसा करने के लिए, रीफ़ैक्टर करने की बड़ी प्रोसेस के तहत, अलग-अलग कॉम्पोज़ क्लास में Px क्लास के इस्तेमाल को बदल दिया गया है (I086f4)
- Dp, Px, Size, Position, Bounds, PxPosition, PxSize, PxBounds, IntPx, IntPxSize, IntPxPosition, IntPxBounds, और AnimationVector के लिए animate() की सुविधा जोड़ी गई (Ib7518)
- क्रॉसफ़ेड में अब ऐनिमेशन को कॉन्फ़िगर करने के लिए, AnimationBuilder पैरामीटर का इस्तेमाल किया जा सकता है. हालांकि, ऐसा करना ज़रूरी नहीं है (I6d6e0)
- एपीआई में, शून्य वैल्यू के साथ इस्तेमाल किए जा सकने वाले Color के सभी इस्तेमाल को, शून्य वैल्यू के साथ इस्तेमाल न किए जा सकने वाले Color से बदला गया. साथ ही, null के बजाय Color.Unset का इस्तेमाल किया गया (Iabaa7)
- ValueHolder क्लास हटाई गई. ऐनिमेशन वैल्यू फ़ील्ड को एब्स्ट्रैक्ट बनाने के लिए, AnimatedValue और AnimatedFloat क्लास को फिर से व्यवस्थित किया गया, ताकि सबक्लास वैल्यू अपडेट देख सकें.
- AnimatedValue, AnimatedFloat वगैरह के लिए मॉडल क्लास जोड़ी गईं.
- वैल्यू के बीच ऐनिमेशन करने के लिए, लाइट-वेट @Composable API का नया सेट जोड़ा गया है. (I79530)
- ambients API में होने वाले बदलावों के बारे में जानकारी. ज़्यादा जानकारी के लिए लॉग और
Ambient<T>
दस्तावेज़ देखें (I4c7ee, b/143769776) - दोहराने का नया मोड: उल्टी दिशा में. यह मोड, RepeatableSpec या VectorizedRepeatableSpec में ऐनिमेशन दोहराए जाने पर, पिछले दोहराए गए हिस्से को वापस ले जाता है. (Ibe0f5)
- ManualAnimationClock में एपीआई के जोड़े गए एलिमेंट:
hasObservers: Boolean
और कंस्ट्रक्टर पैरामीटरdispatchOnSubscribe: Boolean
(Iaa134) - AnimatedFloat (Icd9cc) में कम से कम/ज़्यादा से ज़्यादा सीमा पाने के लिए एपीआई जोड़े गए
गड़बड़ियां ठीक की गईं
runOnIdleCompose
का नाम बदलकरrunOnIdle
कर दिया गया (I83607)- जांच करने वाले कई एपीआई के नाम बदल दिए गए हैं, ताकि उन्हें इस्तेमाल करना आसान हो. सभी findXYZ एपीआई का नाम बदलकर onNodeXYZ कर दिया गया है. doXYZ वाले सभी एपीआई का नाम बदलकर performXYZ कर दिया गया है. (I7f164)
- स्टेटलेस ऐनिमेशन के लिए, लो लेवल के एपीआई जोड़े गए. ये एपीआई (I63bf7)
- Recompose composable अब काम का नहीं है. ज़्यादातर मामलों में, MutableState असाइनमेंट की वजह से फिर से कॉम्पोज़ होना चाहिए. इसके अलावा, हमारा सुझाव है कि मौजूदा स्कोप को फिर से कॉम्पोज़ करने के लिए,
invalidate
फ़ंक्शन का इस्तेमाल करें. (Ifc992) - पिक्सल पैरामीटर के लिए सिर्फ़ Dp और प्राइमिटिव टाइप पर भरोसा करने के लिए, रीफ़ैक्टर करने के बड़े प्रयास के तहत, अलग-अलग compose क्लास में 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, जो CanvasScope को एक्सपोज़ करने के लिए Canvas को एक्सपोज़ करते हैं. इससे उपभोक्ताओं को अपने Paint ऑब्जेक्ट मैनेज करने की ज़रूरत नहीं पड़ती. जिन उपयोगकर्ताओं को अब भी कैनवस का ऐक्सेस चाहिए वे drawCanvas एक्सटेंशन के तरीके का इस्तेमाल कर सकते हैं. यह तरीका, कैनवस पर ड्रॉ करने के निर्देश देने के लिए कॉलबैक उपलब्ध कराता है. (I80afd)
- लाइन और कॉलम में, verticalGravity और horizontalGravity पैरामीटर जोड़े गए हैं. (I7dc5a)
- ui-text मॉड्यूल का नाम बदलकर ui-text-core (I57dec) कर दिया गया है
- DrawModifier API को बेहतर बनाना:
- draw() ContentDrawScope के लिए रिसीवर स्कोप बनाया गया
- draw() से सभी पैरामीटर हटाए गए
- DrawScope का इंटरफ़ेस, CanvasScope जैसा ही है
- ContentDrawScope में drawContent() मेथड है (Ibaced, b/152919067)
runOnIdleCompose
औरrunOnUiThread
अब ComposeTestRule पर मौजूद तरीकों के बजाय, ग्लोबल फ़ंक्शन हैं. (Icbe8f)- [बदली जा सकने वाली]Kotlin 1.4 प्रॉपर्टी के प्रतिनिधि के ऑप्टिमाइज़ेशन के साथ काम करने के लिए, स्टेट प्रॉपर्टी के प्रतिनिधि ऑपरेटर को एक्सटेंशन में ले जाया गया.
by state { ... }
याby mutableStateOf(...)
का इस्तेमाल जारी रखने के लिए, कॉल करने वाले लोगों को इंपोर्ट जोड़ने होंगे. (I5312c) - ColoredRect फ़ंक्शन का इस्तेमाल बंद कर दिया गया है. इसके बजाय,
Box(Modifier.preferredSize(width, height).drawBackground(color))
का इस्तेमाल करें. (I499fa, b/152753731) - फ़ैक्ट्री एक्सटेंशन फ़ंक्शन (I225e4) के साथ मॉडिफ़ायर प्लस ऑपरेटर को बदला गया
- अब काम न करने वाला सेंटर कॉम्पोज़ेबल. इसे 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
- इंस्टेंस कॉपी करने के तरीके (Ife290, b/159905651) के पक्ष में, Size.copy कंपैनियन ऑब्जेक्ट का मेथड बंद किया गया
- 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)