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