ऐनिमेशन लिखें
androidx.compose.animation
androidx.compose.animation.core
androidx.compose.animation.graphics
(सभी compose पैकेज के लिए एपीआई रेफ़रंस दस्तावेज़ देखें)
नया अपडेट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
---|---|---|---|---|
30 अक्टूबर, 2024 | 1.7.5 | - | - | 1.8.0-alpha05 |
संरचना
Compose, androidx
में मौजूद सात Maven ग्रुप आईडी का कॉम्बिनेशन है. हर ग्रुप में, सुविधाओं का एक टारगेट किया गया सबसेट होता है. साथ ही, हर ग्रुप के लिए रिलीज़ नोट का अपना सेट होता है.
इस टेबल में, रिलीज़ नोट के हर सेट के ग्रुप और लिंक के बारे में बताया गया है.
ग्रुप | ब्यौरा |
---|---|
compose.animation | उपयोगकर्ता अनुभव को बेहतर बनाने के लिए, अपने Jetpack Compose ऐप्लिकेशन में ऐनिमेशन बनाएं. |
compose.compiler | @Composable फ़ंक्शन को ट्रांसफ़ॉर्म करें और Kotlin कंपाइलर प्लगिन की मदद से ऑप्टिमाइज़ेशन चालू करें. |
compos.foundation | इस्तेमाल के लिए तैयार बिल्डिंग ब्लॉक की मदद से, Jetpack Compose ऐप्लिकेशन लिखें. साथ ही, अपना डिज़ाइन सिस्टम बनाने के लिए फ़ाउंडेशन को बढ़ाएं. |
compose.material | इस्तेमाल के लिए तैयार Material Design कॉम्पोनेंट की मदद से, Jetpack Compose यूज़र इंटरफ़ेस (यूआई) बनाएं. यह Compose का सबसे ऊपरी लेवल का एंट्री पॉइंट है. इसे ऐसे कॉम्पोनेंट उपलब्ध कराने के लिए डिज़ाइन किया गया है जो www.material.io पर बताए गए कॉम्पोनेंट से मेल खाते हैं. |
compose.material3 | मटीरियल डिज़ाइन 3 कॉम्पोनेंट के साथ Jetpack Compose का यूज़र इंटरफ़ेस बनाएं. यह मटीरियल डिज़ाइन का अगला वर्शन है. Material 3 में, अपडेट की गई थीम और कॉम्पोनेंट के साथ-साथ, Material You की डाइनैमिक कलर जैसी सुविधाएं शामिल हैं. इसे Android 12 के नए विज़ुअल स्टाइल और सिस्टम यूज़र इंटरफ़ेस (यूआई) के साथ काम करने के लिए डिज़ाइन किया गया है. |
compose.runtime | Compose के प्रोग्रामिंग मॉडल और स्टेटस मैनेजमेंट के बुनियादी बिल्डिंग ब्लॉक. साथ ही, Compose कंपाइलर प्लग इन को टारगेट करने के लिए कोर रनटाइम. |
compose.ui | डिवाइस के साथ इंटरैक्ट करने के लिए, कॉम्पोज़ यूज़र इंटरफ़ेस (यूआई) के बुनियादी कॉम्पोनेंट ज़रूरी हैं. इनमें लेआउट, ड्रॉइंग, और इनपुट शामिल हैं. |
डिपेंडेंसी का एलान करना
Compose पर कोई डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.
अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle
फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:
ग्रूवी
dependencies { implementation "androidx.compose.animation:animation:1.7.0" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.animation:animation:1.7.0") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.
सुझाव
आपके सुझाव, शिकायत या राय से हमें Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या इस लाइब्रेरी को बेहतर बनाने के लिए आपके पास कोई सुझाव है, तो हमें बताएं. कोई नई लाइब्रेरी बनाने से पहले, कृपया इस लाइब्रेरी में मौजूद मौजूदा समस्याओं पर एक नज़र डालें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या पर अपना वोट जोड़ा जा सकता है.
ज़्यादा जानकारी के लिए, समस्या ट्रैकर का दस्तावेज़ देखें.
वर्शन 1.8
वर्शन 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
(I731c1) में कॉन्टेंट की पहुंच बढ़ाने के लिए, नयाscaleInSharedContentToBounds
औरscaleOutSharedContentToBounds
- एक्सपेरिमेंटल
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
(I731c1) में कॉन्टेंट की पहुंच बढ़ाने के लिए, नयाscaleInSharedContentToBounds
औरscaleOutSharedContentToBounds
एपीआई में हुए बदलाव
AnimatedVisibilityScope.transition
अब एक स्टेबल एपीआई है.Modifier.animateEnterExit(..)
को भी स्थिर कर दिया गया है. (I6c1d1)ApproachLayoutModifierNode
औरModifier.approachLayout
अब स्टेबल हैं. साथ ही, पुरानेisMeasurementApproachComplete()
औरisPlacementApproachComplete()
को बदलने के लिए, नएisMeasurementApproachInProgress()
औरisPlacementApproachInProgress()
उपलब्ध हैं.- अब काम नहीं करने वाले
intermediateLayout
मॉडिफ़ायर को हटाया गया. (I3e91c) - अब
keyframesWithSpline
मेंperiodicBias
वैल्यू (फ़्लोट) दी जा सकती है. इससे स्पलाइन की शुरुआती और आखिरी वेग एक जैसी हो जाएगी. यह स्प्लिन का इस्तेमाल करके, बार-बार इस्तेमाल किए जा सकने वाले ऐनिमेशन के लिए मददगार है. बायस से पता चलता है कि समयावधि हासिल करने के लिए, हर वेग (शुरुआती और आखिरी) में कितना बदलाव किया जाता है. (Ic1e6c, b/292114811)
गड़बड़ियां ठीक की गईं
- पहले 0..1 तक क्लैंप किए जाने वाले, ओवर-शूटिंग और अंडर-शूटिंग वाले ईज़िंग कर्व को ठीक किया गया (I38747)
वर्शन 1.7.0-alpha06
3 अप्रैल, 2024
androidx.compose.animation:animation-*:1.7.0-alpha06
रिलीज़ हो गया है. वर्शन 1.7.0-alpha06 में ये कमिट शामिल हैं.
नई सुविधाएं
LazyColumn
औरLazyRow
में, आइटम के दिखने और न दिखने के ऐनिमेशन की सुविधा जोड़ी गई. पहले, प्लेसमेंट (फिर से क्रम में लगाने) ऐनिमेशन के साथ काम करने के लिए,Modifier.animateItemPlacement()
मॉडिफ़ायर जोड़ा जा सकता था. हमने इस मॉडिफ़ायर को बंद कर दिया है. साथ ही,Modifier.animateItem()
नाम का एक नया गैर-प्रयोग वाला मॉडिफ़ायर लॉन्च किया है. इसकी मदद से, सभी तीन तरह के ऐनिमेशन इस्तेमाल किए जा सकते हैं: अपीयरेंस (फ़ेड इन), गायब (फ़ेड आउट) और फिर से क्रम में लगाना. (I2d7f7, b/330152398, b/150812265)
गड़बड़ियां ठीक की गईं
updateTransition
एपीआई की परफ़ॉर्मेंस बेहतर की गई.
वर्शन 1.7.0-alpha05
20 मार्च, 2024
androidx.compose.animation:animation-*:1.7.0-alpha05
रिलीज़ हो गया है. वर्शन 1.7.0-alpha05 में ये कमिट शामिल हैं.
एपीआई में हुए बदलाव
SeekableTransitionState
,snapTo()
कोseekTo()
से बदलता है और एकsnapTo()
जोड़ता है, जो किसी भी तरह के ऐनिमेशन के बिना, स्टेटस को डेस्टिनेशन स्टेटस में तुरंत बदल देता है.
वर्शन 1.7.0-alpha04
6 मार्च, 2024
androidx.compose.animation:animation-*:1.7.0-alpha04
रिलीज़ हो गया है. वर्शन 1.7.0-alpha04 में ये कमिट शामिल हैं.
एपीआई में हुए बदलाव
- पाथ की दिशा बदलने के लिए नया एपीआई
Path.reverse()
(I36348)
वर्शन 1.7.0-alpha03
21 फ़रवरी, 2024
androidx.compose.animation:animation-*:1.7.0-alpha03
रिलीज़ हो गया है. 1.7.0-alpha03 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
- नया
Modifier.animateContentSize
, जो कस्टम कॉन्टेंट अलाइनमेंट के लिए एक अतिरिक्त पैरामीटर लेता है. (I5623a, b/269803907) - साइज़, पोज़िशन या किसी ऐसे अन्य टारगेट को ऐनिमेट करने के लिए नया एक्सपेरिमेंटल
DeferredTargetAnimation
, जिसकी जानकारी इंस्टैंशिएशन के दौरान नहीं होती. (I60745)
वर्शन 1.7.0-alpha02
7 फ़रवरी, 2024
androidx.compose.animation:animation-*:1.7.0-alpha02
रिलीज़ हो गया है. 1.7.0-alpha02 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
KeyframesSpec
के साथ काम करने से जुड़ी समस्या ठीक की गई. (I2bdf3, b/322214617)LazyList
में इस्तेमाल करने पर,Modifier.animateContentSize
ठीक से रीसेट न होने की समस्या को ठीक किया गया. (I070512, b/322525716)- टाइमस्टैंप की तय सीमा से बाहर के टाइमस्टैंप का इस्तेमाल करते समय,
IllegalStateException
कोKeyframesSpec
पर सेट किया गया. (I341b8, b/322839811)
वर्शन 1.7.0-alpha01
24 जनवरी, 2024
androidx.compose.animation:animation-*:1.7.0-alpha01
रिलीज़ हो गया है. 1.7.0-alpha01 वर्शन में ये बदलाव शामिल हैं.
वर्शन 1.6
वर्शन 1.6.8
12 जून, 2024
androidx.compose.animation:animation-*:1.6.8
रिलीज़ हो गया है. वर्शन 1.6.8 में ये बदलाव शामिल हैं.
वर्शन 1.6.7
1 मई, 2024
androidx.compose.animation:animation-*:1.6.7
रिलीज़ हो गया है. वर्शन 1.6.7 में ये बातें शामिल हैं.
वर्शन 1.6.6
17 अप्रैल, 2024
androidx.compose.animation:animation-*:1.6.6
रिलीज़ हो गया है. पिछली रिलीज़ के बाद से कोई बदलाव नहीं हुआ
वर्शन 1.6.5
3 अप्रैल, 2024
androidx.compose.animation:animation-*:1.6.5
रिलीज़ हो गया है. वर्शन 1.6.5 में ये बदलाव शामिल हैं.
वर्शन 1.6.4
20 मार्च, 2024
androidx.compose.animation:animation-*:1.6.4
रिलीज़ हो गया है. वर्शन 1.6.4 में ये बदलाव शामिल हैं.
वर्शन 1.6.3
6 मार्च, 2024
androidx.compose.animation:animation-*:1.6.3
रिलीज़ हो गया है. वर्शन 1.6.3 में ये बदलाव शामिल हैं.
वर्शन 1.6.2
21 फ़रवरी, 2024
androidx.compose.animation:animation-*:1.6.2
रिलीज़ हो गया है. वर्शन 1.6.2 में ये कमियां शामिल हैं.
वर्शन 1.6.1
7 फ़रवरी, 2024
androidx.compose.animation:animation-*:1.6.1
रिलीज़ हो गया है. 1.6.1 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
KeyframesSpec
के लिए, काम करने से जुड़ी समस्या को ठीक किया गया. (I2bdf3, b/322214617)
वर्शन 1.6.0
24 जनवरी, 2024
androidx.compose.animation:animation-*:1.6.0
रिलीज़ हो गया है. 1.6.0 वर्शन में ये बदलाव शामिल हैं.
वर्शन 1.6.0-rc01
10 जनवरी, 2024
androidx.compose.animation:animation-*:1.6.0-rc01
रिलीज़ हो गया है. वर्शन 1.6.0-rc01 में ये कमिट हैं.
वर्शन 1.6.0-beta03
13 दिसंबर, 2023
androidx.compose.animation:animation-*:1.6.0-beta03
रिलीज़ हो गया है. 1.6.0-beta03 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
AnimatedContentTransitionScope
सेscaleInToFitContainer
औरscaleOutToFitContainer
को कुछ समय के लिए हटा दिया गया है, क्योंकि इनके लिए आगे की जानकारी की ज़रूरत होती है. ये सुविधाएं तब उपलब्ध होंगी, जब आने वाले समय में रिलीज़ होने वाले वर्शन में, 'आगे की जानकारी' सुविधा डिफ़ॉल्ट रूप से चालू होगी या आपने इसके लिए ऑप्ट-इन किया होगा.
वर्शन 1.6.0-beta02
29 नवंबर, 2023
androidx.compose.animation:animation-*:1.6.0-beta02
रिलीज़ हो गया है. 1.6.0-beta02 वर्शन में ये बदलाव शामिल हैं.
वर्शन 1.6.0-beta01
15 नवंबर, 2023
androidx.compose.animation:animation-*:1.6.0-beta01
रिलीज़ हो गया है. वर्शन 1.6.0-beta01 में ये कमिट हैं.
एपीआई में हुए बदलाव
- ज़्यादा साफ़ तौर पर जानकारी दिखाने के लिए,
ExitTransition.Hold
का नाम बदलकरExitTransition.KeepUntilTransitionsFinished
कर दिया गया है. (I1c490) - अब आपके पास, मोनोटोनिक स्प्लिन का इस्तेमाल करके, किसी भी एन-डाइमेंशनल वैल्यू को इंटरपोलेट करने के लिए,
keyframesWithSpline
का इस्तेमाल करने का विकल्प है.Offset
,IntOffset
,DpOffset
जैसी पोज़िशनल वैल्यू को इंटरपोलेट करने के लिए, यह खास तौर पर मददगार होता है. प्रयोग के तौर पर उपलब्ध एपीआई के तौर पर जोड़ा गया.
गड़बड़ियां ठीक की गईं
ArcLine
में स्वीप ग्रेडिएंट के लिए रेंडरर सहायता जोड़ें. (I4d5bb)PageSize.Fixed
के लिए बराबर और हैशकोड लागू करें. (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 में ये कमिट शामिल हैं.
गड़बड़ियां ठीक की गईं
उस समस्या को ठीक कर दिया गया है जिसकी वजह से
.value
को किसी प्रिमिटिव स्टेट टाइप (जैसे,MutableIntState
) पर कॉल करने से, अमान्य समस्या के साथ लिंट चेतावनी की रिपोर्ट मिलेगी. जांच करने के बाद, सही प्रॉपर्टी पर माइग्रेट करने का सुझाव दिया जाएगा. (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
को कॉल करता है. साथ ही, इसमें कॉलबैक के बाहर मौजूद उन फ़ंक्शन को पास किया गया लॉजिक होता है जिन्हें कॉलबैक के अंदर ले जाना पड़ सकता है. उदाहरणों के लिए इस CL में ऐनिमेशन टेस्ट में हुए बदलाव देखें. withFrameNanos
कॉलबैक के बाद, कॉलर के कोरूटीन फिर से शुरू करने से पहले, कोड को चलाने के लिएTestMonotonicFrameClock
कंस्ट्रक्टर और फ़ैक्ट्री फ़ंक्शन में, वैकल्पिकonPerformTraversals: (Long) -> Unit
पैरामीटर जोड़ा गया. (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 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- टूल को कंपोज़ेबल (Ie6614) की इंटरनल स्टेट बदलने की अनुमति देने के लिए,
ToolingState
जोड़ें
वर्शन 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 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- ईज़िंग फ़ंक्शन से
ExperimentalEasingApi
एनोटेशन हटाया गया (Ied441)
वर्शन 1.2.0-rc01
15 जून, 2022
androidx.compose.animation:animation:1.2.0-rc01
, androidx.compose.animation:animation-core:1.2.0-rc01
, और androidx.compose.animation:animation-graphics:1.2.0-rc01
रिलीज़ हुए हैं. 1.2.0-rc01 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- Compose लाइब्रेरी में इंटरफ़ेस, अब jdk8 के डिफ़ॉल्ट इंटरफ़ेस के तरीकों (I5bcf1) का इस्तेमाल करके बनाए जाते हैं
वर्शन 1.2.0-beta03
1 जून, 2022
androidx.compose.animation:animation:1.2.0-beta03
, androidx.compose.animation:animation-core:1.2.0-beta03
, और androidx.compose.animation:animation-graphics:1.2.0-beta03
रिलीज़ हो गए हैं. वर्शन 1.2.0-beta03 में ये कमिट हैं.
एपीआई में हुए बदलाव
- ऐनिमेशन के लिए, प्रयोग के तौर पर उपलब्ध आसानी से बदलने वाले कर्व जोड़े गए (I64a38)
वर्शन 1.2.0-beta02
18 मई, 2022
androidx.compose.animation:animation:1.2.0-beta02
, androidx.compose.animation:animation-core:1.2.0-beta02
, और androidx.compose.animation:animation-graphics:1.2.0-beta02
रिलीज़ हो गए हैं. वर्शन 1.2.0-beta02 में ये कमिट हैं.
वर्शन 1.2.0-beta01
11 मई, 2022
androidx.compose.animation:animation:1.2.0-beta01
, androidx.compose.animation:animation-core:1.2.0-beta01
, और androidx.compose.animation:animation-graphics:1.2.0-beta01
रिलीज़ हो गए हैं. 1.2.0-beta01 वर्शन में ये बदलाव शामिल हैं.
- यह 1.2 का पहला बीटा वर्शन है! पिछले ऐल्फ़ा वर्शन के बाद से कोई बदलाव नहीं हुआ है.
वर्शन 1.2.0-alpha08
20 अप्रैल, 2022
androidx.compose.animation:animation:1.2.0-alpha08
, androidx.compose.animation:animation-core:1.2.0-alpha08
, और androidx.compose.animation:animation-graphics:1.2.0-alpha08
रिलीज़ हो गए हैं. 1.2.0-alpha08 वर्शन में ये बदलाव शामिल हैं.
वर्शन 1.2.0-alpha07
6 अप्रैल, 2022
androidx.compose.animation:animation:1.2.0-alpha07
, androidx.compose.animation:animation-core:1.2.0-alpha07
, और androidx.compose.animation:animation-graphics:1.2.0-alpha07
रिलीज़ हो गए हैं. 1.2.0-alpha07 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
AnimatedImageVector
अबrepeatCount
औरrepeatMode
(Ia3e75, b/199304067) का समर्थन करता है
वर्शन 1.2.0-alpha06
23 मार्च, 2022
androidx.compose.animation:animation:1.2.0-alpha06
, androidx.compose.animation:animation-core:1.2.0-alpha06
, और androidx.compose.animation:animation-graphics:1.2.0-alpha06
रिलीज़ हो गए हैं. 1.2.0-alpha06 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- लेआउट की मौजूदा दिशा आरटीएल होने पर,
VectorPainter
के कॉन्टेंट को फ़्लिप करने के लिए, वेक्टर ड्रॉ करने लायक एलिमेंट की पार्सिंग को अपडेट किया गया. इससे, ऑटो मिररिंग की सुविधा काम करती है. (I79cd9, b/185760237)
गड़बड़ियां ठीक की गईं
@UiComposable
के बजाय, सही कंपोजेबल एनोटेशन@VectorComposable
का इस्तेमाल करने के लिए, वेक्टर ग्राफ़िक्स एपीआई को अपडेट किया गया (I942bc)
वर्शन 1.2.0-alpha05
9 मार्च, 2022
androidx.compose.animation:animation:1.2.0-alpha05
, androidx.compose.animation:animation-core:1.2.0-alpha05
, और androidx.compose.animation:animation-graphics:1.2.0-alpha05
रिलीज़ हो गए हैं. 1.2.0-alpha05 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- हुर्रे! कंपोज़ ऐनिमेशन अब 'डेवलपर के लिए सेटिंग और टूल' में मौजूद 'ऐनिमेटर अवधि स्केल' सेटिंग के साथ काम करता है. (I5a4fc, b/161675988)
वर्शन 1.2.0-alpha04
23 फ़रवरी, 2022
androidx.compose.animation:animation:1.2.0-alpha04
, androidx.compose.animation:animation-core:1.2.0-alpha04
, और androidx.compose.animation:animation-graphics:1.2.0-alpha04
रिलीज़ हो गए हैं. वर्शन 1.2.0-alpha04 में ये कमियां हैं.
वर्शन 1.2.0-alpha03
9 फ़रवरी, 2022
androidx.compose.animation:animation:1.2.0-alpha03
, androidx.compose.animation:animation-core:1.2.0-alpha03
, और androidx.compose.animation:animation-graphics:1.2.0-alpha03
रिलीज़ हुए हैं. वर्शन 1.2.0-alpha03 में ये कमियां हैं.
वर्शन 1.2.0-alpha02
26 जनवरी, 2022
androidx.compose.animation:animation:1.2.0-alpha02
, androidx.compose.animation:animation-core:1.2.0-alpha02
, और androidx.compose.animation:animation-graphics:1.2.0-alpha02
रिलीज़ हो गए हैं. 1.2.0-alpha02 वर्शन में ये बदलाव शामिल हैं.
वर्शन 1.2.0-alpha01
12 जनवरी, 2022
androidx.compose.animation:animation:1.2.0-alpha01
, androidx.compose.animation:animation-core:1.2.0-alpha01
, और androidx.compose.animation:animation-graphics:1.2.0-alpha01
रिलीज़ हो गए हैं. 1.2.0-alpha01 वर्शन में ये बदलाव शामिल हैं.
एपीआई में बदलाव
<animated-vector>
रिसॉर्स फ़ाइल लोड करने के लिए,animatedVectorResource
के बजायAnimatedImageVector.animatedVectorResource
का इस्तेमाल करें.AnimatedImageVector
को रेंडर करने के लिए,AnimatedImageVector#painterFor
के बजायrememberAnimatedVectorResource
का इस्तेमाल करें. (I9c300)
गड़बड़ियां ठीक की गईं
- Animatable और AnimationResult में toString तरीके जोड़ें. (Icd3a6)
डिपेंडेंसी से जुड़े अपडेट
- अब यह Kotlin
1.6.10
पर निर्भर करता है.
वर्शन 1.1
वर्शन 1.1.1
23 फ़रवरी, 2022
androidx.compose.animation:animation:1.1.1
, androidx.compose.animation:animation-core:1.1.1
, और androidx.compose.animation:animation-graphics:1.1.1
रिलीज़ हो गए हैं. 1.1.1 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
NullPointerException
कोandroidx.compose.ui.platform.RenderNodeLayer.updateDisplayList
(aosp/1947059, b/206677462) पर ठीक करें- Android पर क्लिपबोर्ड से कॉन्टेंट पढ़ते समय, क्लिपबोर्ड के कॉन्टेंट की वजह से क्रैश होने की समस्या को ठीक किया गया. (I06020, b/197769306)
LazyVerticalGrid
(aosp/1931080, b/207510535) में आरटीएल को ठीक किया गया
वर्शन 1.1.0
9 फ़रवरी, 2022
androidx.compose.animation:animation:1.1.0
, androidx.compose.animation:animation-core:1.1.0
, और androidx.compose.animation:animation-graphics:1.1.0
रिलीज़ हुए हैं. 1.1.0 वर्शन में ये बदलाव शामिल हैं.
1.0.0 के बाद के अहम बदलाव
- Android 12 के ओवरस्क्रोल इफ़ेक्ट के लिए, बेहतर परफ़ॉर्मेंस
- टच टारगेट के साइज़ में सुधार
- ध्यान दें कि Compose 1.0 के साथ, 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/ExitTransit फ़ैक्ट्री में मौजूद 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
को :compos: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.compos.runtime
- androidx.compose.ui
- androidx.compose.ui.geometry
- androidx.compose.ui.graphics
- androidx.compos.ui.text
- androidx.compose.ui.text
- androidx.compose.ui.unit
- androidx.compose.ui.util
प्रोफ़ाइल के नियम क्या होते हैं?
किसी लाइब्रेरी के लिए प्रोफ़ाइल के नियम,
src/main
या मिलती-जुलती डायरेक्ट्री में मौजूद टेक्स्ट फ़ाइलbaseline-prof.txt
में बताए जाते हैं. फ़ाइल में हर लाइन के लिए एक नियम तय किया जाता है. इस मामले में, नियम लाइब्रेरी में मौजूद तरीकों या क्लास से मैच करने के लिए एक पैटर्न होता है. इन नियमों का सिंटैक्स,adb shell profman --dump-classes-and-methods ...
का इस्तेमाल करते समय इस्तेमाल किए जाने वाले ऐसे एआरटी प्रोफ़ाइल फ़ॉर्मैट का सुपरसेट है जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है. ये नियम, किसी भी तरीके या क्लास को टारगेट करने के लिए, इनमें से किसी एक फ़ॉर्म में होते हैं.किसी तरीके के नियम का पैटर्न इस तरह का होगा:
<FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
क्लास के लिए बने नियम का पैटर्न इस तरह का होगा:
<CLASS_DESCRIPTOR>
यहां
<FLAGS>
,H
,S
, औरP
में से एक या उससे ज़्यादा वर्ण हैं. इनसे यह पता चलता है कि इस तरीके को "हॉट", "स्टार्टअप" या "स्टार्टअप के बाद" के तौर पर फ़्लैग किया जाना चाहिए या नहीं.<CLASS_DESCRIPTOR>
, उस क्लास का डिस्क्रिप्टर है जिससे टारगेट किया गया तरीका जुड़ा है. उदाहरण के लिए, क्लासandroidx.compose.runtime.SlotTable
का डिस्क्रिप्टरLandroidx/compose/runtime/SlotTable;
होगा.<METHOD_SIGNATURE>
, मेथड का सिग्नेचर होता है. इसमें मेथड का नाम, पैरामीटर टाइप, और रिटर्न टाइप शामिल होते हैं. उदाहरण के लिए,LayoutNode
पर मौजूदfun isPlaced(): Boolean
तरीके का हस्ताक्षरisPlaced()Z
है.इन पैटर्न में वाइल्डकार्ड (
**
,*
, और?
) हो सकते हैं, ताकि एक नियम में कई तरीके या क्लास शामिल हो सकें.
ये नियम क्या करते हैं?
जिस तरीके पर
H
फ़्लैग लगा होता है वह "हॉट" तरीका होता है. इसे समय से पहले कंपाइल किया जाना चाहिए.जिस तरीके पर
S
फ़्लैग लगा होता है उससे पता चलता है कि यह स्टार्टअप के समय कॉल किया जाने वाला तरीका है. साथ ही, स्टार्टअप के समय तरीके को कंपाइल करने और उसका विश्लेषण करने में लगने वाले समय को बचाने के लिए, इसे पहले से कंपाइल किया जाना चाहिए.जिस तरीके के साथ
P
फ़्लैग होता है उससे पता चलता है कि यह स्टार्टअप के बाद कॉल किया जाने वाला तरीका है.इस फ़ाइल में मौजूद किसी क्लास का मतलब है कि उसका इस्तेमाल स्टार्टअप के दौरान किया जाता है. साथ ही, क्लास लोड होने में लगने वाले समय को बचाने के लिए, उसे पहले से ही हेप में असाइन किया जाना चाहिए.
यह कैसे काम करता है?
- लाइब्रेरी ये नियम तय कर सकती हैं, जिन्हें 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 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 में ये कमिट हैं.
गड़बड़ियां ठीक की गईं
- अब Android 12 (I6f9de, b/184718994) के साथ काम करने के लिए, ui-test-manifest और ui-tooling-data से, मेनिफ़ेस्ट फ़ाइलें
वर्शन 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.referwidth/PreferenceHight/पसंदीदा साइज़ का नाम बदलकर, चौड़ाई/height/size में कर दिया गया. (I5b414)
- ओरिएंटेशन को फ़ाउंडेशन पैकेज में ले जाया गया है. VelocityTracker को ui.gesture से ui.input.pointer में ले जाया गया. (Iff4a8, b/175294473)
- AttributionClockObservable और सब-क्लास हटा दिए गए हैं. AnimatedFloat को हटा दिया गया है. (Icde52, b/177457083)
- Modifier.draggable अब सामान्य लैम्ब्डा के बजाय DraggableState स्वीकार करता है. पहले जैसा व्यवहार पाने के लिए,
rememberDraggableState { delta -> }
की मदद से स्टेटस बनाया जा सकता है (Ica70f, b/175294473) - एनिमेटेड, ऐनिमेटेडवैल्यू, ऐनिमेटेडवैल्यू एपीआई हटा दिए गए हैं (If27bc, b/177457083)
- AnimationEndReason.Interrupted को हटा दिया गया है. अगर ऐनिमेशन में रुकावट आती है, तो मिटाने के बाद अपवाद (रद्द करने की कार्रवाई) दिखाया जाएगा. (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)
- पॉइंटर डेटा को हटा दिया गया है और इसमें PointerइनपुटData के सभी फ़ील्ड शामिल करने के लिए, उसमें बदलाव किया गया है. पॉइंटर इनपुट इवेंट और PointerइनपुटEventData को अंदरूनी बनाया गया है, क्योंकि इनका इस्तेमाल किसी भी सार्वजनिक एपीआई में नहीं किया जाता है. (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) को बंद कर दिया गया है
- ट्रांज़िशन एपीआई का एक नया सेट लॉन्च किया गया है. इसकी मदद से, ऐनिमेशन को डाइनैमिक तौर पर जोड़ा जा सकता है और डाइनैमिक तौर पर कैलकुलेट किए गए ऐनिमेशन टारगेट का इस्तेमाल किया जा सकता है. साथ ही, इसे इस्तेमाल करना पहले के मुकाबले आसान हो गया है. इस एपीआई को एक्सपेरिमेंट के तौर पर मार्क किया गया है, ताकि उसे Transit परिभाषा-आधारित एपीआई से आसानी से अलग करने के लिए डिज़ाइन किया गया हो. (Ia7fe3)
गड़बड़ियां ठीक की गईं
- ऑफ़सेट मॉडिफ़ायर में Lambdas, अब फ़्लो के बजाय IntOffset को लौटाता है. (Ic9ee5, b/174137212, b/174146755)
- LaZColumnFor, LazyRowFor, LazyColumnForIndexed, और LazyRowForIndexed का इस्तेमाल बंद कर दें. इसके बजाय, LazyColumn और LazyRow का इस्तेमाल करें (I5b48c)
- निलंबित करने के पॉइंटर इनपुट एपीआई के लिए, इसका नाम बदलकर HandlePointerइनपुटScope का नाम बदलकर AwaitPointerEventScope और handlePointerinput() से awaitPointerEventScope() में बदलें. (Idf0a1, b/175142755)
- InfiniteRepableSpecification (I668e5) बनाने के लिए नया infinite Chatable फ़ंक्शन
- प्रयोग के तौर पर पॉइंटर जोड़ने के लिए इस्तेमाल किया गया एनोटेशन (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)
- ऑफ़सेटPx मॉडिफ़ायर का नाम बदलकर ऑफ़सेट कर दिया गया. अब ये स्टेट के बजाय, लैंब्डा पैरामीटर ले रहे हैं. (Ic3021, b/173594846)
- कोरूटीन में ऐनिमेशन चलाने के लिए नए एपीआई (Ied662)
Ambient
को सफ़िक्स के तौर पर इस्तेमाल करके बनाए गए ऐंबियंट को बंद कर दिया गया है. साथ ही, उन्हें ऐंबियंट के प्रीफ़िक्स वाली नई प्रॉपर्टी से बदल दिया गया है. ऐसा, ऐंबियंट और Compose API के अन्य दिशा-निर्देशों के मुताबिक किया गया है. (I33440)- टेस्ट में समय कंट्रोल (TestAnimationClock और इसका इस्तेमाल) अब एक्सपेरिमेंट के तौर पर उपलब्ध है (I6ef86, b/171378521)
- पुराने ui-test मॉड्यूल और उसके स्टब (I3a7cb) हटाएं
RestorableStateHolder.withRestorableState
फ़ंक्शन का नाम बदलकरRestorableStateProvider
(I66640) कर दिया गया है- अलाइनमेंट इंटरफ़ेस को अपडेट किया गया और उसे काम करने लायक बनाया गया. (I46a07, b/172311734)
वर्शन 1.0.0-alpha07
11 नवंबर, 2020
androidx.compose.animation:animation:1.0.0-alpha07
और androidx.compose.animation:animation-core:1.0.0-alpha07
रिलीज़ हो गए हैं. 1.0.0-alpha07 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- फ़ाउंडेशन AmbientTextStyle, ProvideTextStyle, और AmbientContentColor अब काम नहीं करते. इसके बजाय, Material लाइब्रेरी में मौजूद नए वर्शन का इस्तेमाल करें. नॉन-मटीरियल ऐप्लिकेशन के लिए, आपको खुद के डिज़ाइन सिस्टम के हिसाब से थीम बनाने वाले ऐंबियंट बनाने चाहिए, जिन्हें आपके खुद के कॉम्पोनेंट में इस्तेमाल किया जा सके. (I74acc, b/172067770)
- foundation.Text का इस्तेमाल बंद कर दिया गया है और इसे material.Text से बदल दिया गया है. अगर आपको कोई ऐसा बुनियादी टेक्स्ट एपीआई चाहिए जो किसी थीम की वैल्यू का इस्तेमाल न करता हो, तो androidx.compose.foundation.BasicText देखें. (If64cb)
- MeasureResult को MeasureScope से हटा दिया गया है. (Ibf96d, b/171184002)
- लेआउट से जुड़े कई सिंबल को androidx.compose.ui से androidx.compose.layout.ui में ले जाया गया. (I0fa98, b/170475424)
वर्शन 1.0.0-alpha06
28 अक्टूबर, 2020
androidx.compose.animation:animation:1.0.0-alpha06
और androidx.compose.animation:animation-core:1.0.0-alpha06
रिलीज़ हो गए हैं. 1.0.0-alpha06 वर्शन में ये बदलाव शामिल हैं.
एपीआई में बदलाव
- ComposeTestRule में ट्रांज़िशन चालू करें; ComposeTestRule से, ब्लिंक करने वाले कर्सर को चालू करने का विकल्प हटाएं. (If0de3)
वर्शन 1.0.0-alpha05
14 अक्टूबर, 2020
androidx.compose.animation:animation:1.0.0-alpha05
और androidx.compose.animation:animation-core:1.0.0-alpha05
रिलीज़ हो गए हैं. 1.0.0-alpha05 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- नया ऐनिमेशन इंटरफ़ेस और सब-क्लास: ये क्लास ऐनिमेशन के शुरू और खत्म होने की शर्तों को स्टोर करते हैं. इसलिए, इनकी मदद से सिर्फ़ प्लेटाइम (Ie95bd, b/163329867) के ज़रिए वैल्यू और वेलोसिटी के लिए क्वेरी की जा सकती है
गड़बड़ियां ठीक की गईं
- OnPositionedModifier का नाम बदलकर OnGloballyPositionedModifier कर दिया गया है और onPositioned() का नाम बदलकर onGloballyPositioned कर दिया गया है. (I587e8, b/169083903)
contentColor() और currentTextStyle() एपीआई को बंद कर दिया गया है. साथ ही, उन्हें AmbientContentColor और AmbientTextStyle ऐंबियंट की जगह पर इस्तेमाल किया जा सकता है. किसी भी अन्य ऐंबियंट की तरह, ऐंबियंट प्रॉपर्टी पर
.current
का इस्तेमाल करके, मौजूदा वैल्यू को ऐक्सेस किया जा सकता है. यह बदलाव, एक ही काम को करने के लिए कई तरीकों से बचने और एक जैसी सुविधा देने के लिए किया गया था. इसके अलावा, यह कुछ ऐंबियंट प्रॉपर्टी के नाम बदल देता है, ताकि उनके मकसद को इस तरह से समझा जा सके:- ContentColorAmbient -> AmbientContentColor
- TextStyleAmbient -> AmbientTextStyle
- IndicationAmbient -> AmbientIndication
- EmphasisAmbient -> AmbientEmphasisLevels
- RippleThemeAmbient -> AmbientRippleTheme (I37b6d)
वर्शन 1.0.0-alpha04
1 अक्टूबर, 2020
androidx.compose.animation:animation:1.0.0-alpha04
और androidx.compose.animation:animation-core:1.0.0-alpha04
रिलीज़ हो गए हैं. 1.0.0-alpha04 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- @ visibilityForTesting के साथ, दिए गए रूटAnimationClockफ़ैक्ट्री, transactionsEnabled, blinkingCursorEnabled और textइनपुटServiceFunction, इंटरनल एपीआई बनाएं और उनके kdoc (I554eb, b/168308412)
गड़बड़ियां ठीक की गईं
- कई Graphics API अपडेट किए गए
- नए स्केल और रोटेशन ट्रांसफ़ॉर्मेशन एपीआई को अपडेट किया गया है, ताकि वह DrawScope और DrawTransform में x/y कोऑर्डिनेट के लिए अलग-अलग फ़्लोट पैरामीटर दिखाने के बजाय, सिर्फ़ एक ऑफ़सेट पैरामीटर का इस्तेमाल कर सके.
- Rect.expandToInclude और Rect.join को हटाया गया
- दायरे के दस्तावेज़ को अपडेट किया गया, ताकि अंडाकार के साथ-साथ, दीर्घवृत्ताकार के बारे में भी बताया जा सके
- दस्तावेज़ जोड़ा गया है, ताकि यह पता चल सके कि इनलाइन Radius क्लास के लिए, पब्लिक कन्स्ट्रक्टर को सीधे तौर पर नहीं बुलाया जाना चाहिए. इसके बजाय, Radius ऑब्जेक्ट को उनके फ़ंक्शन कन्स्ट्रक्टर के ज़रिए इंस्टैंशिएट किया जाना चाहिए
- topRight, bottomRight, bottomCenter वगैरह के बारे में क्वेरी करने के लिए, RoundRect APIs को हटा दिया गया है.
- Rect.translate के पक्ष में Rect.shift को बंद कर दिया गया है
- RoundRect.grow और Rect.shrink एपीआई हटाए गए
- RoundRect.outerRect का नाम बदलकर Rect.boundingRect किया गया
- Plant.isStadium और Plant.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.background, Modifier.जगह) (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.here का इस्तेमाल करें. 'फिर' को क्रम में लगाने का बेहतर संकेत मिलता है. साथ ही, यह
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 का इस्तेमाल करें
- ट्वीन, स्प्रिंग जैसी ऐनिमेशन स्पेसिफ़िकेशन बनाने के लिए, लैम्ब्डा की ज़रूरत को हटाकर ट्रांज़िशन डीएसएल को बेहतर बनाएं. इसके बजाय, वे सीधे तौर पर कंस्ट्रक्टर पैरामीटर लेते हैं.
- इस सुविधा की मदद से, एनिमेशन से जुड़े कंस्ट्रक्टर के काम करने के तरीके को आसानी से इस्तेमाल किया जा सकता है.
- 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)
- कई कंपोज़िशन क्लास में Px क्लास के इस्तेमाल को बदला गया, ताकि बड़े रीफ़ैक्टरिंग में और पिक्सल पैरामीटर (I19d02) के लिए सिर्फ़ Dp और प्रिमिटिव टाइप पर भरोसा किया जा सके
- 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) में, दाईं से बाईं ओर की दिशा के लिए सहायता
- डेंसिटी और DensityScope को एक इंटरफ़ेस में मर्ज किया गया है. Amdensity() के बजाय, अब DensityAmbient.current का इस्तेमाल करें. withडेंसिटी(डेंसिटी) के बजाय, सिर्फ़ इसके साथ(डेंसिटी) (I11cb1)
- कई तरह के इनलाइन क्लास में कॉपी करने के तरीके जोड़े गए, जिनमें ये शामिल हैं:
- ऑफ़सेट
- साइज़
- दायरा
- मोशन
- TransformOrigin
- इंस्टेंस कॉपी करने के तरीके (Ife290, b/159905651) के पक्ष में, Size.copy कंपैनियन ऑब्जेक्ट का मेथड बंद किया गया
- androidx.compose.ViewComposer को androidx.ui.node.UiComposer पर ले जाया गया है
androidx.compose.Emittable को हटा दिया गया है. यह ComponentNode के साथ काम नहीं करता था. इसलिए, androidx.compose.ViewAdapters को हटा दिया गया है. अब इनका इस्तेमाल नहीं किया जा सकता.
Compose.composInto को बंद कर दिया गया है. इसके बजाय,
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)