ऐनिमेशन बनाना

उपयोगकर्ता अनुभव को बेहतर बनाने के लिए, अपने Jetpack Compose ऐप्लिकेशन में ऐनिमेशन बनाएं.
नया अपडेट रिलीज़ किया गया जांचा और परखा हुआ वर्शन रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा रिलीज़
13 नवंबर, 2024 1.7.5 - - 1.8.0-alpha06

संरचना

Compose, androidx में मौजूद सात Maven ग्रुप आईडी का कॉम्बिनेशन है. हर ग्रुप में, सुविधाओं का एक टारगेट किया गया सबसेट होता है. साथ ही, हर ग्रुप के लिए रिलीज़ नोट का अपना सेट होता है.

इस टेबल में, रिलीज़ नोट के हर सेट के ग्रुप और लिंक के बारे में बताया गया है.

ग्रुपब्यौरा
compose.animationउपयोगकर्ता अनुभव को बेहतर बनाने के लिए, अपने Jetpack Compose ऐप्लिकेशन में ऐनिमेशन बनाएं.
compose.compiler@Composable फ़ंक्शन को बदलें और Kotlin कंपाइलर प्लग इन की मदद से ऑप्टिमाइज़ेशन चालू करें.
compose.foundationइस्तेमाल के लिए तैयार बिल्डिंग ब्लॉक की मदद से, Jetpack Compose ऐप्लिकेशन लिखें. साथ ही, अपना डिज़ाइन सिस्टम बनाने के लिए फ़ाउंडेशन को बढ़ाएं.
compose.materialइस्तेमाल के लिए तैयार Material Design कॉम्पोनेंट की मदद से, Jetpack Compose यूज़र इंटरफ़ेस (यूआई) बनाएं. यह Compose का सबसे ऊपरी लेवल का एंट्री पॉइंट है. इसे ऐसे कॉम्पोनेंट उपलब्ध कराने के लिए डिज़ाइन किया गया है जो www.material.io पर बताए गए कॉम्पोनेंट से मेल खाते हैं.
compose.material3मटीरियल डिज़ाइन के अगले वर्शन, Material Design 3 कॉम्पोनेंट की मदद से, Jetpack Compose यूज़र इंटरफ़ेस (यूआई) बनाएं. Material 3 में, अपडेट की गई थीम और कॉम्पोनेंट के साथ-साथ, Material You की डाइनैमिक कलर जैसी सुविधाएं शामिल हैं. इसे Android 12 के नए विज़ुअल स्टाइल और सिस्टम यूज़र इंटरफ़ेस (यूआई) के साथ काम करने के लिए डिज़ाइन किया गया है.
compose.runtimeCompose के प्रोग्रामिंग मॉडल और स्टेटस मैनेजमेंट के बुनियादी बिल्डिंग ब्लॉक. साथ ही, Compose कंपाइलर प्लग इन को टारगेट करने के लिए कोर रनटाइम.
compose.uiडिवाइस के साथ इंटरैक्ट करने के लिए, कॉम्पोज़ यूज़र इंटरफ़ेस (यूआई) के बुनियादी कॉम्पोनेंट ज़रूरी हैं. इनमें लेआउट, ड्रॉइंग, और इनपुट शामिल हैं.

डिपेंडेंसी का एलान करना

Compose पर कोई डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.

अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:

Groovy

dependencies {
    implementation "androidx.compose.animation:animation:1.7.5"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.animation:animation:1.7.5")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.

सुझाव

आपके सुझाव, शिकायत या राय से हमें Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या इस लाइब्रेरी को बेहतर बनाने के लिए आपके पास कोई सुझाव है, तो हमें बताएं. नई लाइब्रेरी बनाने से पहले, कृपया इस लाइब्रेरी में मौजूद मौजूदा समस्याओं पर एक नज़र डालें. किसी मौजूदा समस्या पर अपना वोट जोड़ने के लिए, स्टार बटन पर क्लिक करें.

नई समस्या बनाना

ज़्यादा जानकारी के लिए, समस्या ट्रैकर का दस्तावेज़ देखें.

वर्शन 1.8

वर्शन 1.8.0-alpha06

13 नवंबर, 2024

androidx.compose.animation:animation-*:1.8.0-alpha06 रिलीज़ हो गया है. वर्शन 1.8.0-alpha06 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • शेयर किए गए एलिमेंट एपीआई में एक जैसी जानकारी देने के लिए, sharedElement पैरामीटर का नाम state से sharedContentState पर अपडेट किया गया. (I5694c, b/375351468)
  • AnimatedImageVector एपीआई का सुइट अब स्टेबल है. (I7174b, b/261436267)

वर्शन 1.8.0-alpha05

30 अक्टूबर, 2024

androidx.compose.animation:animation-*:1.8.0-alpha05 रिलीज़ हो गया है. वर्शन 1.8.0-alpha05 में ये कमिट शामिल हैं.

नई सुविधाएं

  • LazyGrid में अब लुकअहेड की सुविधा काम करती है. इसमें स्क्रोलिंग, आइटम कॉम्पोज़िशन/डिस्पोसल, और आइटम ऐनिमेशन में, लुकअहेड पास बनाम अप्रोच पास के बीच अंतर करना शामिल है. साथ ही, स्क्रोलिंग के लिए स्रोत के तौर पर और आइटम ऐनिमेशन टारगेट के लिए लुकअहेड पास का इस्तेमाल किया जाता है.

गड़बड़ियां ठीक की गईं

  • ट्रांज़िशन फिर से बनाने पर, AnimatedContent के साइज़ ट्रांसफ़ॉर्म के लिए इंटरनल स्टेटस अपडेट करें. इससे यह पक्का होता है कि टारगेट साइज़ की जानकारी हमेशा अप-टू-डेट रहे. (b/372512085)

वर्शन 1.8.0-alpha04

16 अक्टूबर, 2024

androidx.compose.animation:animation-*:1.8.0-alpha04 रिलीज़ हो गया है. वर्शन 1.8.0-alpha04 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • एक गड़बड़ी को ठीक किया गया है, जिसकी वजह से कुछ ईज़िंग कर्व, कुछ समय के फ़्रैक्शन पर क्रैश हो जाते थे.
  • दाएं से बाएं लिखने के क्रम में, Modifier.animateContentSize के अलाइनमेंट में आ रही गड़बड़ी को ठीक किया गया है. (Idae6b, b/372055503)

वर्शन 1.8.0-alpha03

2 अक्टूबर, 2024

androidx.compose.animation:animation-*:1.8.0-alpha03 रिलीज़ हो गया है. वर्शन 1.8.0-alpha03 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • Kotlin वर्शन को 1.9 (I1a14c) पर अपडेट किया गया

गड़बड़ियां ठीक की गईं

  • AnimatedContent साइज़ के ऐनिमेशन में एक समस्या को ठीक किया गया है. इसके लिए, ऐनिमेशन को हमेशा मौजूदा साइज़ से ट्रैक और शुरू किया जाता है, ताकि यह पक्का किया जा सके कि ऐनिमेशन लगातार चलता रहे.

वर्शन 1.8.0-alpha02

18 सितंबर, 2024

androidx.compose.animation:animation-*:1.8.0-alpha02 रिलीज़ हो गया है. वर्शन 1.8.0-alpha02 में ये कमिट शामिल हैं.

वर्शन 1.8.0-alpha01

4 सितंबर, 2024

androidx.compose.animation:animation-*:1.8.0-alpha01 रिलीज़ हो गया है. वर्शन 1.8.0-alpha01 में ये कमिट शामिल हैं.

नई सुविधाएं

  • आने वाले समय में होने वाले बदलावों के दायरे में, साइज़ और पोज़िशन में बदलाव करने के लिए नया Modifier.animateBounds एपीआई. 94b9394

एपीआई में हुए बदलाव

  • ऐर्क और स्प्लाइन वाले मुख्य-फ़्रेम से एक्सपेरिमेंटल फ़्लैग हटाएं (89e1199)

गड़बड़ियां ठीक की गईं

  • कोई मैच न मिलने पर placeHolderSize लॉजिक को स्किप करें (77c0160)
  • वीडियो चलाने के समय में लगातार बढ़ोतरी होने की वजह से क्रैश होने से रोकने के लिए, AndroidFlingSpline में वीडियो चलाने के समय को सीमित करें(9d47587)
  • SharedTransitionScope कुछ स्थितियों में आइटम न दिखने की समस्या को ठीक करना (b41077b6)

बाहरी योगदान

  • जब कोई ट्रांज़िशन Steven Schoen से नहीं चल रहा हो, तो आगे-पीछे किया जा सकने वाला ट्रांज़िशन playTime सेट करने से रोकें. (c2e6e7e6)

वर्शन 1.7

वर्शन 1.7.5

30 अक्टूबर, 2024

androidx.compose.animation:animation-*:1.7.5 रिलीज़ हो गया है. वर्शन 1.7.5 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • दाएं से बाएं लिखने के क्रम में, Modifier.animateContentSize के अलाइनमेंट में आ रही गड़बड़ी को ठीक किया गया है. (Idae6b, b/372055503)

वर्शन 1.7.4

16 अक्टूबर, 2024

androidx.compose.animation:animation-*:1.7.4 रिलीज़ हो गया है. वर्शन 1.7.4 में ये बदलाव शामिल हैं.

वर्शन 1.7.3

2 अक्टूबर, 2024

androidx.compose.animation:animation-*:1.7.3 रिलीज़ हो गया है. वर्शन 1.7.3 में ये कमिट शामिल हैं.

वर्शन 1.7.2

18 सितंबर, 2024

androidx.compose.animation:animation-*:1.7.2 रिलीज़ हो गया है. वर्शन 1.7.2 में ये बदलाव शामिल हैं.

बाहरी योगदान

  • जब कोई ट्रांज़िशन नहीं चल रहा हो, तो आगे-पीछे किया जा सकने वाला ट्रांज़िशन playTime सेट करने से रोकना. स्टीवन शोएन, धन्यवाद! (c2e6e7e6)

वर्शन 1.7.1

10 सितंबर, 2024

  • Android आर्टफ़ैक्ट में कोई बदलाव नहीं किया गया है. -desktop आर्टफ़ैक्ट हटा दिए गए और -jvmStubs और -linuxx64Stubs आर्टफ़ैक्ट जोड़ दिए गए. इनमें से किसी भी टारगेट का इस्तेमाल नहीं किया जाना चाहिए. ये प्लेसहोल्डर हैं, ताकि Jetbrains Compose को काम करने में मदद मिल सके.

वर्शन 1.7.0

4 सितंबर, 2024

androidx.compose.animation:animation-*:1.7.0 रिलीज़ हो गया है.

1.6.0 के बाद किए गए अहम बदलाव

1.7.0 वर्शन में किए गए अहम बदलावों के बारे में इस ब्लॉग पोस्ट में बताया गया है.

शेयर किए गए एलिमेंट के ट्रांज़िशन के लिए नए एपीआई

  • शेयर किए गए एलिमेंट के ट्रांज़िशन के लिए नए एपीआई, आपके इस्तेमाल और सुझाव/राय का इंतज़ार कर रहे हैं. एक्सपेरिमेंट के तौर पर उपलब्ध ये नए एपीआई, दिए गए मॉडिफ़ायर का इस्तेमाल करके लेआउट को लेआउट ट्री में शेयर किए गए लेआउट के तौर पर टैग करने की सुविधा देते हैं. इससे, शेयर किए गए कॉन्टेंट के एक सेट के बाहर निकलने और दूसरे सेट के आने पर, आसानी से बदलने वाले बाउंड बनते हैं. (Icb0b9)
  • sharedBounds में कॉन्टेंट को स्केल करने के लिए, नए scaleInSharedContentToBounds और scaleOutSharedContentToBounds (I731c1)
  • एक्सपेरिमेंटल SharedTransitionScope अब क्लास के बजाय इंटरफ़ेस है. (Iaf856)
  • sharedBounds के लिए नए resizeModes (ScaleToBounds और RemeasureToBounds), ताकि स्केलिंग और फिर से मेज़र करने के बीच चुना जा सके. scaleIn/OutSharedContentToBounds के पिछले एपीआई अब काम नहीं करते. (I0d41a)

मौजूदा एपीआई में किए गए सुधार:

  • नया Modifier.animateContentSize, जो कस्टम कॉन्टेंट अलाइनमेंट के लिए एक अतिरिक्त पैरामीटर लेता है. (I5623a, b/269803907)
  • साइज़, पोज़िशन या किसी ऐसे अन्य टारगेट को ऐनिमेट करने के लिए नया एक्सपेरिमेंटल DeferredTargetAnimation, जिसकी जानकारी इंस्टैंशिएशन के दौरान नहीं होती. (I60745)
  • SeekableTransitionState, snapTo() को seekTo() से बदलता है और एक snapTo() जोड़ता है, जो किसी भी तरह के ऐनिमेशन के बिना, स्टेटस को डेस्टिनेशन स्टेटस में तुरंत बदल देता है.
  • अब keyframesWithSpline में periodicBias वैल्यू (फ़्लोट) दी जा सकती है. इससे स्पलाइन की शुरुआती और आखिरी वेग एक जैसी हो जाएगी. स्पलाइन का इस्तेमाल करके, बार-बार चलने वाले ऐनिमेशन के लिए काम का है. बायस से पता चलता है कि समयावधि हासिल करने के लिए, हर वेग (शुरुआती और आखिरी) में कितना बदलाव किया जाता है. (Ic1e6c, b/292114811)

यहां दिए गए एपीआई, अब काम कर रहे हैं या इन्हें हटा दिया गया है:

  • AnimatedVisibilityScope.transition अब एक स्टेबल एपीआई है. Modifier.animateEnterExit(..) को भी स्थिर कर दिया गया है. (I6c1d1)
  • ApproachLayoutModifierNode और Modifier.approachLayout अब स्टेबल हैं. साथ ही, पुराने isMeasurementApproachComplete() और isPlacementApproachComplete() को बदलने के लिए, नए isMeasurementApproachInProgress() और isPlacementApproachInProgress() उपलब्ध हैं.
  • इस्तेमाल नहीं किए जा सकने वाले intermediateLayout मॉडिफ़ायर को हटाया गया. (I3e91c)
  • LookaheadScope एपीआई को बेहतर बनाया गया है. (I21507)

वर्शन 1.7.0-rc01

21 अगस्त, 2024

androidx.compose.animation:animation-*:1.7.0-rc01 रिलीज़ हो गया है. वर्शन 1.7.0-rc01 में ये कमिट शामिल हैं.

वर्शन 1.7.0-beta07

7 अगस्त, 2024

androidx.compose.animation:animation-*:1.7.0-beta07 रिलीज़ हो गया है. वर्शन 1.7.0-beta07 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • SharedTransitionScope को ठीक किया गया, जो कुछ स्थितियों में ट्रांज़िशन के दौरान ओवरले आइटम नहीं दिखाता था. आम तौर पर, इसमें नेविगेशन के साथ इस्तेमाल करना शामिल है. (Id65ab, b/347520198)

वर्शन 1.7.0-beta06

24 जुलाई, 2024

androidx.compose.animation:animation-*:1.7.0-beta06 रिलीज़ हो गया है. वर्शन 1.7.0-beta06 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • ट्रांज़िशन के खत्म होने पर, SnapshotStateObserver से निगरानी की जानकारी को सही तरीके से हटाकर, SeekableTransition के ट्रांज़िशन स्टेटस को लीक होने से रोका गया. (b9c7182)
  • ऐसे एज केस ठीक किए गए हैं जिनमें पैरंट ट्रांज़िशन पूरा होने पर, चाइल्ड ट्रांज़िशन को 'पूरा हो गया' के तौर पर सही तरीके से मार्क नहीं किया जाता. (dc42216)

वर्शन 1.7.0-beta05

10 जुलाई, 2024

androidx.compose.animation:animation-*:1.7.0-beta05 रिलीज़ हो गया है. वर्शन 1.7.0-beta05 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • ट्रांज़िशन प्रॉपर्टी totalDurationNanos को अब snapshotFlow में सही तरीके से पढ़ा जा सकता है.

वर्शन 1.7.0-beta04

26 जून, 2024

androidx.compose.animation:animation-*:1.7.0-beta04 रिलीज़ हो गया है. वर्शन 1.7.0-beta04 में ये कमिट शामिल हैं.

वर्शन 1.7.0-beta03

12 जून, 2024

androidx.compose.animation:animation-*:1.7.0-beta03 रिलीज़ हो गया है. वर्शन 1.7.0-beta03 में ये कमिट शामिल हैं.

वर्शन 1.7.0-beta02

29 मई, 2024

androidx.compose.animation:animation-*:1.7.0-beta02 रिलीज़ हो गया है. वर्शन 1.7.0-beta02 में ये कमिट शामिल हैं.

वर्शन 1.7.0-beta01

14 मई, 2024

androidx.compose.animation:animation-*:1.7.0-beta01 रिलीज़ हो गया है. वर्शन 1.7.0-beta01 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • sharedBounds के लिए नए resizeModes (ScaleToBounds और RemeasureToBounds), ताकि स्केलिंग और फिर से मेज़र करने के बीच चुना जा सके. scaleIn/OutSharedContentToBounds के पिछले एपीआई अब काम नहीं करते. (I0d41a)

बाहरी योगदान

  • स्टीवन शॉन के एक्सपेरिमेंटल SharedTransitionScope को अब क्लास के बजाय इंटरफ़ेस के तौर पर इस्तेमाल किया जा सकता है. (Iaf856, b/338415048, b/338414702)

वर्शन 1.7.0-alpha08

1 मई, 2024

androidx.compose.animation:animation-*:1.7.0-alpha08 रिलीज़ हो गया है. वर्शन 1.7.0-alpha08 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • LookaheadScope एपीआई को बेहतर बनाया गया है. (I21507)

बाहरी योगदान

  • SeekableTransitionState animates/snaps by Steven Schoen (1ca89529) के बाद, ऐनिमेशन शुरू होने का समय हटाएं

वर्शन 1.7.0-alpha07

17 अप्रैल, 2024

androidx.compose.animation:animation-*:1.7.0-alpha07 रिलीज़ हो गया है. वर्शन 1.7.0-alpha07 में ये कमिट शामिल हैं.

नई सुविधाएं

  • शेयर किए गए एलिमेंट के ट्रांज़िशन के लिए नए एपीआई, आपके इस्तेमाल और सुझाव/राय का इंतज़ार कर रहे हैं. एक्सपेरिमेंट के तौर पर उपलब्ध ये नए एपीआई, दिए गए मॉडिफ़ायर का इस्तेमाल करके लेआउट को लेआउट ट्री में शेयर किए गए लेआउट के तौर पर टैग करने की सुविधा देते हैं. इससे, शेयर किए गए कॉन्टेंट के एक सेट के बाहर निकलने और दूसरे सेट के आने पर, आसानी से बदलने वाले बाउंड बनते हैं. (Icb0b9)
  • sharedBounds में कॉन्टेंट को स्केल करने के लिए, नए scaleInSharedContentToBounds और scaleOutSharedContentToBounds (I731c1)

एपीआई में हुए बदलाव

  • AnimatedVisibilityScope.transition अब एक स्टेबल एपीआई है. Modifier.animateEnterExit(..) को भी स्थिर कर दिया गया है. (I6c1d1)
  • ApproachLayoutModifierNode और Modifier.approachLayout अब स्टेबल हैं. साथ ही, पुराने isMeasurementApproachComplete() और isPlacementApproachComplete() को बदलने के लिए, नए isMeasurementApproachInProgress() और isPlacementApproachInProgress() उपलब्ध हैं.
  • इस्तेमाल नहीं किए जा सकने वाले intermediateLayout मॉडिफ़ायर को हटाया गया. (I3e91c)
  • अब keyframesWithSpline में periodicBias वैल्यू (फ़्लोट) दी जा सकती है. इससे स्पलाइन की शुरुआती और आखिरी वेग एक जैसी हो जाएगी. स्पलाइन का इस्तेमाल करके, बार-बार चलने वाले ऐनिमेशन के लिए काम का है. बायस से पता चलता है कि समयावधि हासिल करने के लिए, हर वेग (शुरुआती और आखिरी) में कितना बदलाव किया जाता है. (Ic1e6c, b/292114811)

गड़बड़ियां ठीक की गईं

  • पहले 0..1 तक क्लैंप किए जाने वाले, ओवर-शूटिंग और अंडर-शूटिंग वाले ईज़िंग कर्व को ठीक किया गया (I38747)

वर्शन 1.7.0-alpha06

3 अप्रैल, 2024

androidx.compose.animation:animation-*:1.7.0-alpha06 रिलीज़ हो गया है. वर्शन 1.7.0-alpha06 में ये कमिट शामिल हैं.

नई सुविधाएं

  • LazyColumn और LazyRow में, आइटम के दिखने और न दिखने के ऐनिमेशन की सुविधा जोड़ी गई. पहले, प्लेसमेंट (फिर से क्रम में लगाने) ऐनिमेशन के साथ काम करने के लिए, Modifier.animateItemPlacement() मॉडिफ़ायर जोड़ा जा सकता था. हमने इस मॉडिफ़ायर को बंद कर दिया है और Modifier.animateItem() नाम का एक नया मॉडिफ़ायर लॉन्च किया है. यह एक्सपेरिमेंटल नहीं है. इसकी मदद से, ऐनिमेशन के तीनों टाइप इस्तेमाल किए जा सकते हैं: दिखना (फ़ेड इन), न दिखना (फ़ेड आउट), और क्रम में बदलना. (I2d7f7, b/330152398, b/150812265)

गड़बड़ियां ठीक की गईं

  • updateTransition API की परफ़ॉर्मेंस बेहतर हुई है.

वर्शन 1.7.0-alpha05

20 मार्च, 2024

androidx.compose.animation:animation-*:1.7.0-alpha05 रिलीज़ हो गया है. वर्शन 1.7.0-alpha05 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • SeekableTransitionState, snapTo() को seekTo() से बदलता है और एक snapTo() जोड़ता है, जो किसी भी तरह के ऐनिमेशन के बिना, स्टेटस को डेस्टिनेशन स्टेटस में तुरंत बदल देता है.

वर्शन 1.7.0-alpha04

6 मार्च, 2024

androidx.compose.animation:animation-*:1.7.0-alpha04 रिलीज़ हो गया है. वर्शन 1.7.0-alpha04 में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • पाथ की दिशा बदलने के लिए नया एपीआई Path.reverse() (I36348)

वर्शन 1.7.0-alpha03

21 फ़रवरी, 2024

androidx.compose.animation:animation-*:1.7.0-alpha03 रिलीज़ हो गया है. 1.7.0-alpha03 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • नया Modifier.animateContentSize, जो कस्टम कॉन्टेंट अलाइनमेंट के लिए एक अतिरिक्त पैरामीटर लेता है. (I5623a, b/269803907)
  • साइज़, पोज़िशन या किसी ऐसे अन्य टारगेट को ऐनिमेट करने के लिए नया एक्सपेरिमेंटल DeferredTargetAnimation, जिसकी जानकारी इंस्टैंशिएशन के दौरान नहीं होती. (I60745)

वर्शन 1.7.0-alpha02

7 फ़रवरी, 2024

androidx.compose.animation:animation-*:1.7.0-alpha02 रिलीज़ हो गया है. 1.7.0-alpha02 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • KeyframesSpec के लिए, काम करने से जुड़ी समस्या को ठीक किया गया. (I2bdf3, b/322214617)
  • LazyList में इस्तेमाल करने पर, Modifier.animateContentSize ठीक से रीसेट न होने की समस्या को ठीक किया गया. (I070512, b/322525716)
  • टाइमस्टैंप की तय सीमा से बाहर के टाइमस्टैंप का इस्तेमाल करते समय, IllegalStateException को KeyframesSpec पर सेट किया गया. (I341b8, b/322839811)

वर्शन 1.7.0-alpha01

24 जनवरी, 2024

androidx.compose.animation:animation-*:1.7.0-alpha01 रिलीज़ हो गया है. 1.7.0-alpha01 वर्शन में ये बदलाव शामिल हैं.

वर्शन 1.6

वर्शन 1.6.8

12 जून, 2024

androidx.compose.animation:animation-*:1.6.8 रिलीज़ हो गया है. वर्शन 1.6.8 में ये बदलाव शामिल हैं.

वर्शन 1.6.7

1 मई, 2024

androidx.compose.animation:animation-*:1.6.7 रिलीज़ हो गया है. वर्शन 1.6.7 में ये बदलाव शामिल हैं.

वर्शन 1.6.6

17 अप्रैल, 2024

androidx.compose.animation:animation-*:1.6.6 रिलीज़ हो गया है. पिछली रिलीज़ के बाद से कोई बदलाव नहीं हुआ

वर्शन 1.6.5

3 अप्रैल, 2024

androidx.compose.animation:animation-*:1.6.5 रिलीज़ हो गया है. वर्शन 1.6.5 में ये बदलाव शामिल हैं.

वर्शन 1.6.4

20 मार्च, 2024

androidx.compose.animation:animation-*:1.6.4 रिलीज़ हो गया है. वर्शन 1.6.4 में ये बदलाव शामिल हैं.

वर्शन 1.6.3

6 मार्च, 2024

androidx.compose.animation:animation-*:1.6.3 रिलीज़ हो गया है. वर्शन 1.6.3 में ये बदलाव शामिल हैं.

वर्शन 1.6.2

21 फ़रवरी, 2024

androidx.compose.animation:animation-*:1.6.2 रिलीज़ हो गया है. 1.6.2 वर्शन में ये बदलाव शामिल हैं.

वर्शन 1.6.1

7 फ़रवरी, 2024

androidx.compose.animation:animation-*:1.6.1 रिलीज़ हो गया है. 1.6.1 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • KeyframesSpec के लिए, काम करने से जुड़ी समस्या को ठीक किया गया. (I2bdf3, b/322214617)

वर्शन 1.6.0

24 जनवरी, 2024

androidx.compose.animation:animation-*:1.6.0 रिलीज़ हो गया है. 1.6.0 वर्शन में ये बदलाव शामिल हैं.

वर्शन 1.6.0-rc01

10 जनवरी, 2024

androidx.compose.animation:animation-*:1.6.0-rc01 रिलीज़ हो गया है. 1.6.0-rc01 वर्शन में ये कमिट शामिल हैं.

वर्शन 1.6.0-beta03

13 दिसंबर, 2023

androidx.compose.animation:animation-*:1.6.0-beta03 रिलीज़ हो गया है. 1.6.0-beta03 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • AnimatedContentTransitionScope से scaleInToFitContainer और scaleOutToFitContainer को कुछ समय के लिए हटा दिया गया है, क्योंकि इनके लिए आगे की जानकारी की ज़रूरत होती है. ये सुविधाएं तब उपलब्ध होंगी, जब आने वाले समय में रिलीज़ होने वाले वर्शन में, 'आगे की जानकारी' सुविधा डिफ़ॉल्ट रूप से चालू होगी या आपने इसके लिए ऑप्ट-इन किया होगा.

वर्शन 1.6.0-beta02

29 नवंबर, 2023

androidx.compose.animation:animation-*:1.6.0-beta02 रिलीज़ हो गया है. 1.6.0-beta02 वर्शन में ये बदलाव शामिल हैं.

वर्शन 1.6.0-beta01

15 नवंबर, 2023

androidx.compose.animation:animation-*:1.6.0-beta01 रिलीज़ हो गया है. 1.6.0-beta01 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • ExitTransition.Hold को ज़्यादा साफ़ तौर पर बताने के लिए, इसका नाम बदलकर ExitTransition.KeepUntilTransitionsFinished कर दिया गया है. (I1c490)
  • अब आपके पास, मोनोटोनिक स्प्लिन का इस्तेमाल करके, किसी भी एन-डाइमेंशनल वैल्यू को इंटरपोलेट करने के लिए, keyframesWithSpline का इस्तेमाल करने का विकल्प है. यह Offset, IntOffset, DpOffset जैसी पोज़िशनल वैल्यू को इंटरपोलेट करने के लिए खास तौर पर मददगार है. प्रयोग के तौर पर उपलब्ध एपीआई के तौर पर जोड़ा गया.

गड़बड़ियां ठीक की गईं

  • ArcLine में स्वीप ग्रेडिएंट के लिए रेंडरर की सुविधा जोड़ें. (I4d5bb)
  • PageSize.Fixed के लिए equals और hashcode लागू करें. (Ie3ede, b/300134276)
  • विंडो इनसेट में बदलाव करने से, बाइनरी के साथ काम करने से जुड़ी समस्या को ठीक किया गया. (Iee695)
  • Material3 चिप/बटन के लिए, कॉन्टेंट की मुख्य लेयर हटाएं, क्योंकि माइक्रोबेंचमार्क के बिना बेहतर परफ़ॉर्मेंस दिखती है. (I55555)

वर्शन 1.6.0-alpha08

18 अक्टूबर, 2023

androidx.compose.animation:animation-*:1.6.0-alpha08 रिलीज़ हो गया है. 1.6.0-alpha08 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • KeyframesSpecConfig#with को बंद कर दिया गया है. इसके बजाय, KeyframesSpecConfig#using का इस्तेमाल करें. इससे बिल्डर पैटर्न को बनाए रखा जा सकता है. (I1d769)

वर्शन 1.6.0-alpha07

4 अक्टूबर, 2023

androidx.compose.animation:animation-*:1.6.0-alpha07 रिलीज़ हो गया है. 1.6.0-alpha07 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • फ़िक्स्ड और स्क्रोल किए जा सकने वाले टैब्रो में अब प्राइमरी और सेकंडरी वैरिएंट हैं. ये Material3 में बताए गए रंग और इंडिकेटर के व्यवहार के हिसाब से सही तरीके से मैप होते हैं.
  • PrimaryScrollableTabRow और SecondaryScrollableTabRow अब स्क्रोल की स्थिति दिखाते हैं. (Iec8f5, b/260572337)

वर्शन 1.6.0-alpha06

20 सितंबर, 2023

androidx.compose.animation:animation-*:1.6.0-alpha06 रिलीज़ हो गया है. 1.6.0-alpha06 वर्शन में ये बदलाव शामिल हैं.

वर्शन 1.6.0-alpha05

6 सितंबर, 2023

androidx.compose.animation:animation-*:1.6.0-alpha05 रिलीज़ हो गया है. 1.6.0-alpha05 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • PathEasing जोड़ा गया, ताकि किसी भी पाथ को आसानी से बदलने वाले कर्व में जोड़ा जा सके. (Idb4b9)

वर्शन 1.6.0-alpha04

23 अगस्त, 2023

androidx.compose.animation:animation-*:1.6.0-alpha04 रिलीज़ हो गया है. 1.6.0-alpha04 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • SeekableTransitionState जोड़ें, ताकि डेवलपर किसी ट्रांज़िशन की प्रोग्रेस को कंट्रोल कर सकें. (I8e69d)

वर्शन 1.6.0-alpha03

9 अगस्त, 2023

androidx.compose.animation:animation-*:1.6.0-alpha03 रिलीज़ हो गया है. 1.6.0-alpha03 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • एंटर/एग्ज़िट ट्रांज़िशन का नया टाइप, जो एंटर और एग्ज़िट ऐनिमेशन के दौरान, ऐनिमेट किए जा रहे कंटेनर के साइज़ के आधार पर कॉन्टेंट को स्केल करता है. LookaheadScope अब कॉम्पोज़ेबल की सुविधा और इंटरफ़ेस, दोनों काम कर रहे हैं. (Ifb2ce)

वर्शन 1.6.0-alpha02

26 जुलाई, 2023

androidx.compose.animation:animation-*:1.6.0-alpha02 रिलीज़ हो गया है. 1.6.0-alpha02 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • AnimatedContent में आउटगोइंग कॉन्टेंट दिखाने के लिए नया ExitTransition.Hold, जब तक कि एंटर और एक्सिट ट्रांज़िशन दोनों पूरे न हो जाएं. (I5984f)
  • कॉम्पोज़ेबल में इस्तेमाल किए जा सकने वाले इनपुट की जानकारी देने के लिए अतिरिक्त एनोटेशन (I51109)

वर्शन 1.6.0-alpha01

21 जून, 2023

androidx.compose.animation:animation-*:1.6.0-alpha01 रिलीज़ हो गया है. 1.6.0-alpha01 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • Modifier.animateContentSize और AnimatedVisibility को 'आगे की जानकारी' सिस्टम में पूरी तरह से इंटिग्रेट करने के लिए, 'आगे की जानकारी' पास में टारगेट साइज़ की रिपोर्टिंग करें.

एपीआई में हुए बदलाव

  • IntrinsincMeasureScope में नई प्रॉपर्टी और उसके लागू होने (उदाहरण के लिए, MeasureScope) से यह पता चलता है कि मौजूदा मेज़र पास, लाॅकआउट पास है या नहीं. (I7a812)

गड़बड़ियां ठीक की गईं

  • स्प्रिंग ऐनिमेशन से ऐलोकेशन हटाए गए. (Ie9431)
  • Enum.valueOf के लिए value पैरामीटर का नाम बदला गया (Ia9b89)
  • enum valueOf (I818fe) से मिलने वाली और भी अपवाद

संस्‍करण 1.5

वर्शन 1.5.4

18 अक्टूबर, 2023

androidx.compose.animation:animation-*:1.5.4 रिलीज़ हो गया है. 1.5.4 वर्शन में ये बदलाव शामिल हैं.

वर्शन 1.5.3

4 अक्टूबर, 2023

androidx.compose.animation:animation-*:1.5.3 रिलीज़ हो गया है. इस वर्शन में कोई बदलाव नहीं हुआ है

संस्‍करण 1.5.2

27 सितंबर, 2023

androidx.compose.animation:animation-*:1.5.2 रिलीज़ हो गया है. 1.5.2 वर्शन में ये बदलाव शामिल हैं.

संस्‍करण 1.5.1

6 सितंबर, 2023

androidx.compose.foundation:foundation-*:1.5.1 रिलीज़ हो गया है. 1.5.1 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • readOnly के 'सही' होने पर, टेक्स्ट फ़ील्ड में कीबोर्ड दिखने और उसमें बदलाव किए जा सकने की समस्या को ठीक किया गया. फ़ोकस होने पर, readOnly को 'सही' से 'गलत' में बदलने पर कीबोर्ड न दिखने की समस्या को भी ठीक किया गया है. (I34a19, b/246909589)

संस्‍करण 1.5.1

6 सितंबर, 2023

androidx.compose.animation:animation-*:1.5.1 रिलीज़ हो गया है. 1.5.1 वर्शन में ये बदलाव शामिल हैं.

वर्शन 1.5.0

9 अगस्त, 2023

androidx.compose.animation:animation-*:1.5.0 रिलीज़ हो गया है. 1.5.0 वर्शन में ये बदलाव शामिल हैं.

वर्शन 1.5.0-rc01

26 जुलाई, 2023

androidx.compose.animation:animation-*:1.5.0-rc01 रिलीज़ हो गया है. 1.5.0-rc01 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • एक समस्या को ठीक किया गया है. इसमें, किसी प्राइमिटिव स्टेट टाइप (जैसे, MutableIntState) पर .value को कॉल करने पर, अमान्य तरीके से ठीक करने के साथ लिंट चेतावनी की रिपोर्ट होती थी. जांच करने के बाद, सही प्रॉपर्टी पर माइग्रेट करने का सुझाव दिया जाएगा. (Iba953, b/287279257)

  • प्राइमिटिव के लिए, mutableStateOf() कॉल को उनके खास टाइप पर माइग्रेट करने का सुझाव देने के लिए, एक वैकल्पिक जांच उपलब्ध है. इसका लिंट आईडी AutoboxingStateCreation है. पहले, यह जांच सभी प्रोजेक्ट के लिए डिफ़ॉल्ट रूप से चालू होती थी. Android Studio के एडिटर और अपने प्रोजेक्ट के लिंट आउटपुट में यह चेतावनी देखने के लिए, इसकी गंभीरता को सूचना से चेतावनी (या उससे ज़्यादा) में बदलें. इसके लिए, अपने मॉड्यूल के build.gradle या build.gradle.kts कॉन्फ़िगरेशन में warning "AutoboxingStateCreation" का एलान करें, जैसा कि दिखाया गया है (I34f7e):

        android {
            lint {
                warning "AutoboxingStateCreation"
            }
            ...
        }
    

वर्शन 1.5.0-beta03

28 जून, 2023

androidx.compose.animation:animation-*:1.5.0-beta03 रिलीज़ हो गया है. 1.5.0-beta03 वर्शन में ये बदलाव शामिल हैं.

वर्शन 1.5.0-beta02

7 जून, 2023

androidx.compose.animation:animation-*:1.5.0-beta02 रिलीज़ हो गया है. 1.5.0-beta02 वर्शन में ये बदलाव शामिल हैं.

वर्शन 1.5.0-beta01

24 मई, 2023

androidx.compose.animation:animation-*:1.5.0-beta01 रिलीज़ हो गया है. 1.5.0-beta01 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • रीकंपोज़िशन, कलर ऐनिमेशन, और AndroidComposeView (Ib2bfa) में एलोकेशन हटाए गए

गड़बड़ियां ठीक की गईं

  • स्प्रिंग ऐनिमेशन से ऐलोकेशन हटाए गए (Ie9431)

वर्शन 1.5.0-alpha04

10 मई, 2023

androidx.compose.animation:animation-*:1.5.0-alpha04 रिलीज़ हो गया है. 1.5.0-alpha04 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • ContentKey अब AnimatedContent में काम करता है, ताकि ट्रांज़िशन कब होना चाहिए, इस पर ज़्यादा कंट्रोल किया जा सके. (Ic069b)

वर्शन 1.5.0-alpha03

19 अप्रैल, 2023

androidx.compose.animation:animation-*:1.5.0-alpha03 रिलीज़ हो गया है. 1.5.0-alpha03 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • LookaheadScope में SubcomposeLayout के लिए नया डिफ़ॉल्ट तरीका. इससे, उन SubcomposeLayouts के लिए 'आगे देखकर ऐनिमेशन' सुविधा को बेहतर तरीके से इस्तेमाल किया जा सकता है जिनमें शर्त के हिसाब से स्लॉट नहीं होते. जैसे, TabRow, Scaffold, BoxWithConstraints वगैरह.

एपीआई में हुए बदलाव

  • नया डिफ़ॉल्ट intermediateMeasurePolicy, लाॅकहेड पास से मेज़रमेंट नीति का फिर से इस्तेमाल करता है. इससे SubcomposeLayout सब-टाइप, Scaffold, TabRow, और BoxWithConstraints जैसे कंडिशनल स्लॉट के बिना, डिफ़ॉल्ट रूप से लाॅकहेड के साथ काम कर सकते हैं. (Id84c8)
  • इनफ़िक्स फ़ंक्शन का नाम बदलकर togetherWith करें, ताकि स्लाइड में ऑब्जेक्ट जोड़ने और हटाने के ट्रांज़िशन को जोड़ा जा सके. कॉन्टेंट के लिए लैम्ब्डा फ़ंक्शन के तौर पर नया AnimatedContentScope. (Ic39ae)

वर्शन 1.5.0-alpha02

5 अप्रैल, 2023

androidx.compose.animation:animation-*:1.5.0-alpha02 रिलीज़ हो गया है. 1.5.0-alpha02 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • SubcomposeLayout में, आगे की जानकारी देखने की सुविधा के साथ काम करने वाला नया एक्सपेरिमेंटल एपीआई. इससे SubcomposeLayout, LookaheadScope में सही तरीके से काम कर पाएगा. SubcomposeLayout के खास सब-टाइप के लिए, जल्द ही ज़्यादा सहायता उपलब्ध होगी.

एपीआई में हुए बदलाव

  • नया SubcomposeLayout एपीआई, जो पहले से तय किए गए समय के आधार पर चलने वाले ऐनिमेशन के दौरान, मेज़र/लेआउट लॉजिक को मैनेज करने के लिए, एक और इंटरमीडियरी मेज़र नीति का इस्तेमाल करता है. (I017d3)

वर्शन 1.5.0-alpha01

22 मार्च, 2023

androidx.compose.animation:animation-*:1.5.0-alpha01 रिलीज़ हो गया है. 1.5.0-alpha01 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • AnimatedContent एपीआई अब स्टेबल हैं AnimatedContentScope का नाम बदलकर AnimatedContentTransitionScope कर दिया गया है. scaleIn और scaleOut अब स्टेबल एपीआई हैं. (Iaf54e)

वर्शन 1.4

वर्शन 1.4.3

3 मई, 2023

androidx.compose.animation:animation:1.4.3, androidx.compose.animation:animation-core:1.4.3, और androidx.compose.animation:animation-graphics:1.4.3 को बिना किसी बदलाव के रिलीज़ किया गया है. सिर्फ़ वर्शन में बदलाव किया गया है.

वर्शन 1.4.2

19 अप्रैल, 2023

androidx.compose.animation:animation:1.4.2, androidx.compose.animation:animation-core:1.4.2, और androidx.compose.animation:animation-graphics:1.4.2 को बिना किसी बदलाव के रिलीज़ किया गया है. 1.4.2 वर्शन में ये बदलाव शामिल हैं.

वर्शन 1.4.1

5 अप्रैल, 2023

androidx.compose.animation:animation:1.4.1, androidx.compose.animation:animation-core:1.4.1, और androidx.compose.animation:animation-graphics:1.4.1 को बिना किसी बदलाव के रिलीज़ किया गया है. 1.4.1 वर्शन में ये बदलाव शामिल हैं.

वर्शन 1.4.0

22 मार्च, 2023

androidx.compose.animation:animation:1.4.0, androidx.compose.animation:animation-core:1.4.0, और androidx.compose.animation:animation-graphics:1.4.0 रिलीज़ हो गए हैं. 1.4.0 वर्शन में ये बदलाव शामिल हैं.

1.3.0 के बाद किए गए अहम बदलाव

  • टूल लेबल, rememberInfiniteTransition और InfiniteTransition और ट्रांज़िशन (उदाहरण के लिए, InfiniteTransition#animateColor) के सभी एक्सटेंशन फ़ंक्शन में काम करता है (I56ef7)

वर्शन 1.4.0-rc01

8 मार्च, 2023

androidx.compose.animation:animation:1.4.0-rc01, androidx.compose.animation:animation-core:1.4.0-rc01, और androidx.compose.animation:animation-graphics:1.4.0-rc01 को बिना किसी बदलाव के रिलीज़ किया गया है. 1.4.0-rc01 वर्शन में ये बदलाव शामिल हैं.

वर्शन 1.4.0-beta02

22 फ़रवरी, 2023

androidx.compose.animation:animation:1.4.0-beta02, androidx.compose.animation:animation-core:1.4.0-beta02, और androidx.compose.animation:animation-graphics:1.4.0-beta02 को बिना किसी बदलाव के रिलीज़ किया गया है. 1.4.0-beta02 वर्शन में ये बदलाव शामिल हैं.

वर्शन 1.4.0-beta01

8 फ़रवरी, 2023

androidx.compose.animation:animation:1.4.0-beta01, androidx.compose.animation:animation-core:1.4.0-beta01, और androidx.compose.animation:animation-graphics:1.4.0-beta01 को बिना किसी बदलाव के रिलीज़ किया गया है. 1.4.0-beta01 वर्शन में ये बदलाव शामिल हैं.

वर्शन 1.4.0-alpha05

25 जनवरी, 2023

androidx.compose.animation:animation:1.4.0-alpha05, androidx.compose.animation:animation-core:1.4.0-alpha05, और androidx.compose.animation:animation-graphics:1.4.0-alpha05 रिलीज़ हो गए हैं. 1.4.0-alpha05 वर्शन में ये बदलाव शामिल हैं.

बदलाव

  • पिछले अल्फा वर्शन के बाद से, ऐनिमेशन लाइब्रेरी में कोई बदलाव नहीं हुआ है. सिर्फ़ वर्शन में बदलाव किया गया है

वर्शन 1.4.0-alpha04

11 जनवरी, 2023

androidx.compose.animation:animation:1.4.0-alpha04, androidx.compose.animation:animation-core:1.4.0-alpha04, और androidx.compose.animation:animation-graphics:1.4.0-alpha04 रिलीज़ हो गए हैं. 1.4.0-alpha04 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • टूल लेबल, rememberInfiniteTransition और InfiniteTransition और Transition के सभी एक्सटेंशन फ़ंक्शन (उदाहरण के लिए, InfiniteTransition#animateColor) में काम करता है (I56ef7)

एपीआई में हुए बदलाव

  • InfiniteTransition#TransitionAnimationState और InfiniteTransition#animations एपीआई अब सार्वजनिक हैं. (I36682)

वर्शन 1.4.0-alpha03

7 दिसंबर, 2022

androidx.compose.animation:animation:1.4.0-alpha03, androidx.compose.animation:animation-core:1.4.0-alpha03, और androidx.compose.animation:animation-graphics:1.4.0-alpha03 रिलीज़ हो गए हैं. 1.4.0-alpha03 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • Compose नियम का इस्तेमाल करने वाले यूआई टेस्ट में, withFrameNanos कॉलबैक के दौरान फिर से शुरू किए गए कंटिन्यूएशन तब तक डिस्पैच नहीं किए जाएंगे, जब तक सभी फ़्रेम कॉलबैक चलना बंद नहीं हो जाते. यह सामान्य तरीके से चलने पर, लिखने के तरीके से मेल खाता है. हालांकि, पुराने व्यवहार पर आधारित टेस्ट काम नहीं कर सकते. इसका असर सिर्फ़ उस कोड पर पड़ेगा जो सीधे withFrameNanos या withFrameMillis को कॉल करता है. साथ ही, इसमें कॉलबैक के बाहर का लॉजिक होता है, जो उन फ़ंक्शन को पास किया जाता है जिन्हें कॉलबैक में ले जाने की ज़रूरत पड़ सकती है. उदाहरण के लिए इस सीएल में, ऐनिमेशन टेस्ट में हुए बदलाव देखें.
  • TestMonotonicFrameClock कंस्ट्रक्टर और फ़ैक्ट्री फ़ंक्शन में वैकल्पिक onPerformTraversals: (Long) -> Unit पैरामीटर जोड़ा गया है. इससे withFrameNanos कॉलबैक के बाद, कोड को चलाया जा सकता है. हालांकि, इसके लिए कॉलर के कोरयूटीन को फिर से शुरू करना ज़रूरी है. (Idb413, b/254115946, b/222093277, b/255802670)
  • टूल लेबल (Iebe2d) के लिए AnimatedContent में नया पैरामीटर

वर्शन 1.4.0-alpha02

9 नवंबर, 2022

androidx.compose.animation:animation:1.4.0-alpha02, androidx.compose.animation:animation-core:1.4.0-alpha02, और androidx.compose.animation:animation-graphics:1.4.0-alpha02 रिलीज़ हो गए हैं. 1.4.0-alpha02 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • टूल को Composable के इंटरनल स्टेटस में बदलाव करने की अनुमति देने के लिए, ToolingState जोड़ें (Ie6614)

वर्शन 1.4.0-alpha01

24 अक्टूबर, 2022

androidx.compose.animation:animation:1.4.0-alpha01, androidx.compose.animation:animation-core:1.4.0-alpha01, और androidx.compose.animation:animation-graphics:1.4.0-alpha01 रिलीज़ हो गए हैं. 1.4.0-alpha01 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • AnimatedContent में, रुकावट के गलत ऐनिमेशन को ठीक करना (b/238662479)

वर्शन 1.3

वर्शन 1.3.3

11 जनवरी, 2023

androidx.compose.animation:animation:1.3.3, androidx.compose.animation:animation-core:1.3.3, और androidx.compose.animation:animation-graphics:1.3.3 रिलीज़ हो गए हैं. 1.3.3 वर्शन में ये बदलाव शामिल हैं.

  • 1.3.2 के बाद से कोई बदलाव नहीं हुआ है.

वर्शन 1.3.2

7 दिसंबर, 2022

androidx.compose.animation:animation:1.3.2, androidx.compose.animation:animation-core:1.3.2, और androidx.compose.animation:animation-graphics:1.3.2 रिलीज़ हो गए हैं. 1.3.2 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • androidx.compose.ui 1.3.2 के साथ काम करने के लिए अपडेट किया गया

वर्शन 1.3.1

9 नवंबर, 2022

androidx.compose.animation:animation:1.3.1, androidx.compose.animation:animation-core:1.3.1, और androidx.compose.animation:animation-graphics:1.3.1 रिलीज़ हो गए हैं. 1.3.1 वर्शन में ये बदलाव शामिल हैं.

वर्शन 1.3.0

24 अक्टूबर, 2022

androidx.compose.animation:animation:1.3.0, androidx.compose.animation:animation-core:1.3.0, और androidx.compose.animation:animation-graphics:1.3.0 रिलीज़ हो गए हैं. 1.3.0 वर्शन में ये बदलाव शामिल हैं.

1.2.0 के बाद किए गए अहम बदलाव

  • आसानी से बदलाव करने वाले फ़ंक्शन के नए सेट को स्टेबल कर दिया गया है

वर्शन 1.3.0-rc01

5 अक्टूबर, 2022

androidx.compose.animation:animation:1.3.0-rc01, androidx.compose.animation:animation-core:1.3.0-rc01, और androidx.compose.animation:animation-graphics:1.3.0-rc01 रिलीज़ हो गए हैं. 1.3.0-rc01 वर्शन में ये बदलाव शामिल हैं.

वर्शन 1.3.0-beta03

21 सितंबर, 2022

androidx.compose.animation:animation:1.3.0-beta03, androidx.compose.animation:animation-core:1.3.0-beta03, और androidx.compose.animation:animation-graphics:1.3.0-beta03 रिलीज़ हो गए हैं. 1.3.0-beta03 वर्शन में ये बदलाव शामिल हैं.

  • 1.3.0-beta02 के बाद से कोई बदलाव नहीं किया गया है.

वर्शन 1.3.0-beta02

7 सितंबर, 2022

androidx.compose.animation:animation:1.3.0-beta02, androidx.compose.animation:animation-core:1.3.0-beta02, और androidx.compose.animation:animation-graphics:1.3.0-beta02 रिलीज़ हो गए हैं. 1.3.0-beta02 वर्शन में ये बदलाव शामिल हैं.

  • Kotlin.experimental को कंपाइलर के विकल्पों से हटा दिया गया है, क्योंकि इसे बंद कर दिया गया है

वर्शन 1.3.0-beta01

24 अगस्त, 2022

androidx.compose.animation:animation:1.3.0-beta01, androidx.compose.animation:animation-core:1.3.0-beta01, और androidx.compose.animation:animation-graphics:1.3.0-beta01 रिलीज़ हो गए हैं. 1.3.0-beta01 वर्शन में ये बदलाव शामिल हैं.

वर्शन 1.3.0-alpha03

10 अगस्त, 2022

androidx.compose.animation:animation:1.3.0-alpha03, androidx.compose.animation:animation-core:1.3.0-alpha03, और androidx.compose.animation:animation-graphics:1.3.0-alpha03 रिलीज़ हो गए हैं. 1.3.0-alpha03 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • टूल लेबल (Iac08a) के लिए, Crossfade, animateAsState, और Animatable में नया पैरामीटर
  • किसी खास अवधि के बजाय, फ़्रेम के फ़्रैक्शन के हिसाब से मुख्य फ़्रेम तय करने के लिए, atFraction फ़ंक्शन जोड़ा गया. (I20c76, b/232059455)

वर्शन 1.3.0-alpha02

27 जुलाई, 2022

androidx.compose.animation:animation:1.3.0-alpha02, androidx.compose.animation:animation-core:1.3.0-alpha02, और androidx.compose.animation:animation-graphics:1.3.0-alpha02 रिलीज़ हो गए हैं. 1.3.0-alpha02 वर्शन में ये बदलाव शामिल हैं.

वर्शन 1.3.0-alpha01

29 जून, 2022

androidx.compose.animation:animation:1.3.0-alpha01, androidx.compose.animation:animation-core:1.3.0-alpha01, और androidx.compose.animation:animation-graphics:1.3.0-alpha01 रिलीज़ हो गए हैं. 1.3.0-alpha01 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • नया LookaheadLayout, जो असल मेज़र/लेआउट से पहले, लुकअहेड पास के साथ काम करता है. इससे लेआउट में बदलाव होने पर, पहले से कैलकुलेट किए गए साइज़/पोज़िशन का इस्तेमाल करके, टारगेट के हिसाब से साइज़ और पोज़िशन को ऐनिमेट किया जा सकता है. SubcomposeLayouts फ़िलहाल काम नहीं करते, लेकिन आने वाले वर्शन में काम करेंगे. (I477f5)

वर्शन 1.2

वर्शन 1.2.1

10 अगस्त, 2022

androidx.compose.animation:animation:1.2.1, androidx.compose.animation:animation-core:1.2.1, और androidx.compose.animation:animation-graphics:1.2.1 रिलीज़ हो गए हैं. 1.2.1 वर्शन में ये बदलाव शामिल हैं.

वर्शन 1.2.0

27 जुलाई, 2022

androidx.compose.animation:animation:1.2.0, androidx.compose.animation:animation-core:1.2.0, और androidx.compose.animation:animation-graphics:1.2.0 रिलीज़ हो गए हैं. 1.2.0 वर्शन में ये बदलाव शामिल हैं.

1.1.0 के बाद किए गए अहम बदलाव

  • ऐनिमेशन बनाने की सुविधा अब डेवलपर के विकल्पों में मौजूद 'ऐनिमेशन अवधि का स्केल' सेटिंग के साथ काम करती है.
  • एक्सपेरिमेंट के तौर पर उपलब्ध, आसानी से बदलने वाले नए कर्व का बड़ा कलेक्शन.
  • AnimatedImageVector अब repeatCount और repeatMode के साथ काम करता है

वर्शन 1.2.0-rc03

29 जून, 2022

androidx.compose.animation:animation:1.2.0-rc03, androidx.compose.animation:animation-core:1.2.0-rc03, और androidx.compose.animation:animation-graphics:1.2.0-rc03 रिलीज़ हो गए हैं. 1.2.0-rc03 वर्शन में ये बदलाव शामिल हैं.

  • 1.2.0-rc02 के बाद से कोई बदलाव नहीं हुआ है.

वर्शन 1.2.0-rc02

22 जून, 2022

androidx.compose.animation:animation:1.2.0-rc02, androidx.compose.animation:animation-core:1.2.0-rc02, और androidx.compose.animation:animation-graphics:1.2.0-rc02 रिलीज़ हो गए हैं. 1.2.0-rc02 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • आसानी से चलने वाले फ़ंक्शन (Ied441) पर ExperimentalEasingApi एनोटेशन हटाया गया

वर्शन 1.2.0-rc01

15 जून, 2022

androidx.compose.animation:animation:1.2.0-rc01, androidx.compose.animation:animation-core:1.2.0-rc01, और androidx.compose.animation:animation-graphics:1.2.0-rc01 रिलीज़ हो गए हैं. 1.2.0-rc01 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • Compose लाइब्रेरी में इंटरफ़ेस, अब jdk8 के डिफ़ॉल्ट इंटरफ़ेस के तरीकों (I5bcf1) का इस्तेमाल करके बनाए जाते हैं

वर्शन 1.2.0-beta03

1 जून, 2022

androidx.compose.animation:animation:1.2.0-beta03, androidx.compose.animation:animation-core:1.2.0-beta03, और androidx.compose.animation:animation-graphics:1.2.0-beta03 रिलीज़ हो गए हैं. 1.2.0-beta03 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • ऐनिमेशन के लिए, प्रयोग के तौर पर उपलब्ध आसानी से बदलने वाले कर्व जोड़े गए (I64a38)

वर्शन 1.2.0-beta02

18 मई, 2022

androidx.compose.animation:animation:1.2.0-beta02, androidx.compose.animation:animation-core:1.2.0-beta02, और androidx.compose.animation:animation-graphics:1.2.0-beta02 रिलीज़ हो गए हैं. 1.2.0-beta02 वर्शन में ये बदलाव शामिल हैं.

वर्शन 1.2.0-beta01

11 मई, 2022

androidx.compose.animation:animation:1.2.0-beta01, androidx.compose.animation:animation-core:1.2.0-beta01, और androidx.compose.animation:animation-graphics:1.2.0-beta01 रिलीज़ हो गए हैं. 1.2.0-beta01 वर्शन में ये बदलाव शामिल हैं.

  • यह 1.2 का पहला बीटा वर्शन है! पिछले अल्फा वर्शन के बाद से कोई बदलाव नहीं हुआ है.

वर्शन 1.2.0-alpha08

20 अप्रैल, 2022

androidx.compose.animation:animation:1.2.0-alpha08, androidx.compose.animation:animation-core:1.2.0-alpha08, और androidx.compose.animation:animation-graphics:1.2.0-alpha08 रिलीज़ हो गए हैं. 1.2.0-alpha08 वर्शन में ये बदलाव शामिल हैं.

वर्शन 1.2.0-alpha07

6 अप्रैल, 2022

androidx.compose.animation:animation:1.2.0-alpha07, androidx.compose.animation:animation-core:1.2.0-alpha07, और androidx.compose.animation:animation-graphics:1.2.0-alpha07 रिलीज़ हो गए हैं. 1.2.0-alpha07 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • AnimatedImageVector अब repeatCount और repeatMode (Ia3e75, b/199304067) के साथ काम करता है

वर्शन 1.2.0-alpha06

23 मार्च, 2022

androidx.compose.animation:animation:1.2.0-alpha06, androidx.compose.animation:animation-core:1.2.0-alpha06, और androidx.compose.animation:animation-graphics:1.2.0-alpha06 रिलीज़ हो गए हैं. 1.2.0-alpha06 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • वेक्टर ड्रॉबल की पार्सिंग को अपडेट किया गया है, ताकि मौजूदा लेआउट की दिशा RTL होने पर, VectorPainter के कॉन्टेंट को अपने-आप मिरर किया जा सके. (I79cd9, b/185760237)

गड़बड़ियां ठीक की गईं

  • @UiComposable के बजाय, सही कंपोजेबल एनोटेशन @VectorComposable का इस्तेमाल करने के लिए, वेक्टर ग्राफ़िक्स एपीआई को अपडेट किया गया (I942bc)

वर्शन 1.2.0-alpha05

9 मार्च, 2022

androidx.compose.animation:animation:1.2.0-alpha05, androidx.compose.animation:animation-core:1.2.0-alpha05, और androidx.compose.animation:animation-graphics:1.2.0-alpha05 रिलीज़ हो गए हैं. 1.2.0-alpha05 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • हुर्रे! ऐनिमेशन बनाने की सुविधा अब डेवलपर के विकल्पों में मौजूद, 'ऐनिमेशन अवधि का स्केल' सेटिंग के साथ काम करती है. (I5a4fc, b/161675988)

वर्शन 1.2.0-alpha04

23 फ़रवरी, 2022

androidx.compose.animation:animation:1.2.0-alpha04, androidx.compose.animation:animation-core:1.2.0-alpha04, और androidx.compose.animation:animation-graphics:1.2.0-alpha04 रिलीज़ हो गए हैं. 1.2.0-alpha04 वर्शन में ये बदलाव शामिल हैं.

वर्शन 1.2.0-alpha03

9 फ़रवरी, 2022

androidx.compose.animation:animation:1.2.0-alpha03, androidx.compose.animation:animation-core:1.2.0-alpha03, और androidx.compose.animation:animation-graphics:1.2.0-alpha03 रिलीज़ हो गए हैं. 1.2.0-alpha03 वर्शन में ये बदलाव शामिल हैं.

वर्शन 1.2.0-alpha02

26 जनवरी, 2022

androidx.compose.animation:animation:1.2.0-alpha02, androidx.compose.animation:animation-core:1.2.0-alpha02, और androidx.compose.animation:animation-graphics:1.2.0-alpha02 रिलीज़ हो गए हैं. 1.2.0-alpha02 वर्शन में ये बदलाव शामिल हैं.

वर्शन 1.2.0-alpha01

12 जनवरी, 2022

androidx.compose.animation:animation:1.2.0-alpha01, androidx.compose.animation:animation-core:1.2.0-alpha01, और androidx.compose.animation:animation-graphics:1.2.0-alpha01 रिलीज़ हो गए हैं. 1.2.0-alpha01 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • <animated-vector> रिसॉर्स फ़ाइल लोड करने के लिए, animatedVectorResource के बजाय AnimatedImageVector.animatedVectorResource का इस्तेमाल करें.
    • AnimatedImageVector को रेंडर करने के लिए, AnimatedImageVector#painterFor के बजाय rememberAnimatedVectorResource का इस्तेमाल करें. (I9c300)

गड़बड़ियां ठीक की गईं

  • Animatable और AnimationResult में toString तरीके जोड़ें. (Icd3a6)

डिपेंडेंसी से जुड़े अपडेट

  • अब यह Kotlin 1.6.10 पर निर्भर करता है.

वर्शन 1.1

वर्शन 1.1.1

23 फ़रवरी, 2022

androidx.compose.animation:animation:1.1.1, androidx.compose.animation:animation-core:1.1.1, और androidx.compose.animation:animation-graphics:1.1.1 रिलीज़ हो गए हैं. 1.1.1 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList पर NullPointerException को ठीक करें (aosp/1947059, b/206677462)
  • Android पर क्लिपबोर्ड से कॉन्टेंट पढ़ते समय, क्लिपबोर्ड के कॉन्टेंट की वजह से क्रैश होने की समस्या को ठीक किया गया. (I06020, b/197769306)
  • LazyVerticalGrid (aosp/1931080, b/207510535) में आरटीएल को ठीक किया गया

वर्शन 1.1.0

9 फ़रवरी, 2022

androidx.compose.animation:animation:1.1.0, androidx.compose.animation:animation-core:1.1.0, और androidx.compose.animation:animation-graphics:1.1.0 रिलीज़ हो गए हैं. 1.1.0 वर्शन में ये बदलाव शामिल हैं.

1.0.0 के बाद किए गए अहम बदलाव

  • Android 12 के ओवरस्क्रोल इफ़ेक्ट के लिए, बेहतर परफ़ॉर्मेंस
  • टच टारगेट के साइज़ में सुधार
  • ध्यान दें कि Compose 1.0 के साथ, Material कॉम्पोनेंट अपने लेआउट स्पेस को बड़ा कर देंगे, ताकि टच टारगेट साइज़ के लिए Material के सुलभता के दिशा-निर्देशों को पूरा किया जा सके. उदाहरण के लिए, बटन के टच टारगेट का साइज़ कम से कम 48x48dp होगा. भले ही, आपने बटन का साइज़ छोटा सेट किया हो. इससे, Compose Material को Material Design कॉम्पोनेंट के काम करने के तरीके के हिसाब से अलाइन किया जाता है. इससे, व्यू और Compose को एक साथ इस्तेमाल करने पर, दोनों का काम करने का तरीका एक जैसा रहता है. इस बदलाव से यह भी पक्का होता है कि Compose Material कॉम्पोनेंट का इस्तेमाल करके यूज़र इंटरफ़ेस (यूआई) बनाते समय, टच टारगेट की सुलभता से जुड़ी ज़रूरी शर्तें पूरी होंगी.
  • नेविगेशन रेल के लिए बेहतर सहायता
  • पहले एक्सपेरिमेंट के तौर पर उपलब्ध कई एपीआई को स्टेबल एपीआई के तौर पर उपलब्ध कराया गया
  • Kotlin के नए वर्शन के लिए सहायता

वर्शन 1.1.0-rc03

26 जनवरी, 2022

androidx.compose.animation:animation:1.1.0-rc03, androidx.compose.animation:animation-core:1.1.0-rc03, और androidx.compose.animation:animation-graphics:1.1.0-rc03 रिलीज़ हो गए हैं. 1.1.0-rc03 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Compose Material 1.1.0-rc03 के साथ काम करने के लिए अपडेट किया गया

वर्शन 1.1.0-rc01

15 दिसंबर, 2021

androidx.compose.animation:animation:1.1.0-rc01 और androidx.compose.animation:animation-core:1.1.0-rc01 रिलीज़ हो गए हैं. 1.1.0-rc01 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • <animated-vector> रिसॉर्स फ़ाइल लोड करने के लिए, animatedVectorResource के बजाय AnimatedImageVector.animatedVectorResource का इस्तेमाल करें.
    • AnimatedImageVector को रेंडर करने के लिए, AnimatedImageVector#painterFor के बजाय rememberAnimatedVectorResource का इस्तेमाल करें. (I9c300)

वर्शन 1.1.0-beta04

1 दिसंबर, 2021

androidx.compose.animation:animation:1.1.0-beta04, androidx.compose.animation:animation-core:1.1.0-beta04, और androidx.compose.animation:animation-graphics:1.1.0-beta04 रिलीज़ हो गए हैं. 1.1.0-beta04 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • Kotlin 1.6.0 के साथ काम करने के लिए अपडेट किया गया

वर्शन 1.1.0-beta03

17 नवंबर, 2021

androidx.compose.animation:animation:1.1.0-beta03, androidx.compose.animation:animation-core:1.1.0-beta03, और androidx.compose.animation:animation-graphics:1.1.0-beta03 रिलीज़ हो गए हैं. 1.1.0-beta03 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • प्लेसमेंट में हुए बदलाव को देखने के लिए, नया मॉडिफ़ायर Modifier.onPlaced जोड़ा गया है. इसलिए, प्लेसमेंट में हुए बदलाव के आधार पर, चाइल्ड मॉडिफ़ायर के ऑफ़सेट में और बदलाव किए जा सकते हैं. (I558fd)
  • क्रॉसफ़ेड में contentKey के लिए नई सुविधा. ऐनिमेशन सिस्टम, ContentKey का इस्तेमाल करके, दोनों फ़ाइलों की समानता की जांच करेगा. इसलिए, अलग-अलग स्टेटस के लिए सही contentKey तय करके, स्टेटस के हिसाब से कस्टम डिफ़रेंस पाया जा सकता है.

    ContentKey का इस्तेमाल, कॉन्टेंट को सेव और वापस लाने के लिए भी किया जाएगा. (I2e055, b/197907070)

वर्शन 1.1.0-beta02

3 नवंबर, 2021

androidx.compose.animation:animation:1.1.0-beta02, androidx.compose.animation:animation-core:1.1.0-beta02, और androidx.compose.animation:animation-graphics:1.1.0-beta02 रिलीज़ हो गए हैं. 1.1.0-beta02 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • टूल के साथ काम करने के लिए नए ऐनिमेशन एपीआई. खास तौर पर, ये टूल, ट्रांज़िशन में ऐनिमेशन और उनके कॉन्फ़िगरेशन की जांच करने की अनुमति देते हैं. (I4116e)

वर्शन 1.1.0-beta01

27 अक्टूबर, 2021

androidx.compose.animation:animation:1.1.0-beta01, androidx.compose.animation:animation-core:1.1.0-beta01, और androidx.compose.animation:animation-graphics:1.1.0-beta01 रिलीज़ हो गए हैं. 1.1.0-beta01 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • टूल के साथ काम करने के लिए नए ऐनिमेशन एपीआई. खास तौर पर, ये टूल, ट्रांज़िशन में ऐनिमेशन और उनके कॉन्फ़िगरेशन की जांच करने की अनुमति देते हैं. (I4116e)

वर्शन 1.1.0-alpha06

13 अक्टूबर, 2021

androidx.compose.animation:animation:1.1.0-alpha06, androidx.compose.animation:animation-core:1.1.0-alpha06, और androidx.compose.animation:animation-graphics:1.1.0-alpha06 रिलीज़ हो गए हैं. 1.1.0-alpha06 वर्शन में ये बदलाव शामिल हैं.

वर्शन 1.1.0-alpha05

29 सितंबर, 2021

androidx.compose.animation:animation:1.1.0-alpha05, androidx.compose.animation:animation-core:1.1.0-alpha05, और androidx.compose.animation:animation-graphics:1.1.0-alpha05 रिलीज़ हो गए हैं. 1.1.0-alpha05 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • EnterTransition, ExitTransition, और कुछ AnimatedVisibility एपीआई को स्थिर कर दिया गया है. MutableTransitionState.isIdle भी अब एक्सपेरिमेंट के तौर पर उपलब्ध नहीं है. (I5072d)

  • बड़े बदलाव: Enter/ExitTransition फ़ैक्ट्री में मौजूद lambdas को पैरामीटर सूची में आखिरी पोज़िशन पर ले जाया गया है. (I5072d)

वर्शन 1.1.0-alpha04

15 सितंबर, 2021

androidx.compose.animation:animation:1.1.0-alpha04, androidx.compose.animation:animation-core:1.1.0-alpha04, और androidx.compose.animation:animation-graphics:1.1.0-alpha04 रिलीज़ हो गए हैं. 1.1.0-alpha04 वर्शन में ये बदलाव शामिल हैं.

वर्शन 1.1.0-alpha03

1 सितंबर, 2021

androidx.compose.animation:animation:1.1.0-alpha03, androidx.compose.animation:animation-core:1.1.0-alpha03, और androidx.compose.animation:animation-graphics:1.1.0-alpha03 रिलीज़ हो गए हैं. 1.1.0-alpha03 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

  • Compose 1.1.0-alpha03 को Kotlin 1.5.30 पर निर्भर करने के लिए अपडेट किया गया. (I74545)

वर्शन 1.1.0-alpha02

18 अगस्त, 2021

androidx.compose.animation:animation:1.1.0-alpha02, androidx.compose.animation:animation-core:1.1.0-alpha02, और androidx.compose.animation:animation-graphics:1.1.0-alpha02 रिलीज़ हो गए हैं. 1.1.0-alpha02 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • StartOffset अब दोहराए जाने वाले और बार-बार दोहराए जाने वाले विकल्पों के साथ काम करता है. इसकी मदद से, ऐनिमेशन शुरू होने में लगने वाले समय में देरी की जा सकती है या ऐनिमेशन शुरू होने से पहले उसे तेज़ी से आगे बढ़ाया जा सकता है. शुरुआत का यह ऑफ़सेट दोहराया नहीं जाएगा (Ic679f, b/195079908)
  • स्केल के लिए नया एंटर/एग्ज़िट ट्रांज़िशन. इसका इस्तेमाल, एंटर/एग्ज़िट ट्रांज़िशन के दूसरे टाइप के साथ किया जा सकता है. (I372da, b/191325593)

वर्शन 1.1.0-alpha01

4 अगस्त, 2021

androidx.compose.animation:animation:1.1.0-alpha01, androidx.compose.animation:animation-core:1.1.0-alpha01, और androidx.compose.animation:animation-graphics:1.1.0-alpha01 रिलीज़ हो गए हैं. 1.1.0-alpha01 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • AnimatedImageVector और उससे जुड़े एपीआई, अब नए androidx.compose.animation:animation-graphics मॉड्यूल में मौजूद हैं. (I60873)

गड़बड़ियां ठीक की गईं

  • InfiniteAnimationPolicy को :compose:ui पर ले जाया गया (I5eb09, b/160602714)

संस्करण 1.0

वर्शन 1.0.5

3 नवंबर, 2021

androidx.compose.animation:animation:1.0.5 और androidx.compose.animation:animation-core:1.0.5 रिलीज़ हो गए हैं. 1.0.5 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • derivedStateOf इंस्टेंस को क्रैश ट्रैकिंग से जुड़ी समस्या ठीक की गई. (aosp/1792247)

वर्शन 1.0.4

13 अक्टूबर, 2021

androidx.compose.animation:animation:1.0.4 और androidx.compose.animation:animation-core:1.0.4 रिलीज़ हो गए हैं. 1.0.4 वर्शन में ये बदलाव शामिल हैं.

डिपेंडेंसी से जुड़े अपडेट

  • Kotlin 1.5.31 पर निर्भर करने के लिए अपडेट किया गया

वर्शन 1.0.3

29 सितंबर, 2021

androidx.compose.animation:animation:1.0.3 और androidx.compose.animation:animation-core:1.0.3 रिलीज़ हो गए हैं. 1.0.3 वर्शन में ये बदलाव शामिल हैं.

डिपेंडेंसी से जुड़े अपडेट

  • Kotlin 1.5.30 पर निर्भर करने के लिए अपडेट किया गया

वर्शन 1.0.2

1 सितंबर, 2021

androidx.compose.animation:animation:1.0.2 और androidx.compose.animation:animation-core:1.0.2 रिलीज़ हो गए हैं. 1.0.2 वर्शन में ये बदलाव शामिल हैं.

Compose 1.0.2 रिलीज़ के साथ काम करने के लिए अपडेट किया गया. Compose 1.0.2, अब भी Kotlin 1.5.21 के साथ काम करता है.

वर्शन 1.0.1

4 अगस्त, 2021

androidx.compose.animation:animation:1.0.1 और androidx.compose.animation:animation-core:1.0.1 रिलीज़ हो गए हैं. 1.0.1 वर्शन में ये बदलाव शामिल हैं.

डिपेंडेंसी से जुड़े अपडेट

  • Kotlin 1.5.21 पर निर्भर करने के लिए अपडेट किया गया.

वर्शन 1.0.0

28 जुलाई, 2021

androidx.compose.animation:animation:1.0.0 और androidx.compose.animation:animation-core:1.0.0 रिलीज़ हो गए हैं. 1.0.0 वर्शन में ये बदलाव शामिल हैं.

1.0.0 के मुख्य फ़ीचर

यह Compose का पहला स्टेबल वर्शन है. ज़्यादा जानकारी के लिए, कृपया Compose रिलीज़ का आधिकारिक ब्लॉग देखें!

आम समस्याएं

  • अगर Android Studio Bumblebee Canary 4 या AGP 7.1.0-alpha04/7.1.0-alpha05 का इस्तेमाल किया जा रहा है, तो आपको क्रैश होने की यह समस्या आ सकती है:

      java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
    

    इसे ठीक करने के लिए, अपनी build.gradle फ़ाइल में minSdkVersion को कुछ समय के लिए 24 या उसके बाद के वर्शन पर सेट करें. यह समस्या, Android Studio Bumblebee और AGP 7.1 के अगले वर्शन में ठीक कर दी जाएगी. (b/194289155)

वर्शन 1.0.0-rc02

14 जुलाई, 2021

androidx.compose.animation:animation:1.0.0-rc02 और androidx.compose.animation:animation-core:1.0.0-rc02 रिलीज़ हो गए हैं. 1.0.0-rc02 वर्शन में ये कमिट शामिल हैं.

वर्शन 1.0.0-rc01

1 जुलाई, 2021

androidx.compose.animation:animation:1.0.0-rc01 और androidx.compose.animation:animation-core:1.0.0-rc01 रिलीज़ हो गए हैं. 1.0.0-rc01 वर्शन में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • InfiniteAnimationPolicy को androidx.compose.ui:ui (I5eb09, b/160602714) पर ले जाया गया

वर्शन 1.0.0-beta09

16 जून, 2021

androidx.compose.animation:animation:1.0.0-beta09 और androidx.compose.animation:animation-core:1.0.0-beta09 रिलीज़ हो गए हैं. 1.0.0-beta09 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • नया AnimatedContent कॉम्पोज़ेबल. यह अपने कॉन्टेंट में बदलाव को मैनेज करता है. इसके लिए, यह पसंद के मुताबिक बनाए जा सकने वाले ContentTransform का इस्तेमाल करता है. ऐसा तब होता है, जब नया टारगेट कॉन्टेंट दिखने लगता है और शुरुआती कॉन्टेंट दिखना बंद हो जाता है. पसंद के मुताबिक लुक और स्टाइल बनाने के लिए, स्क्रीन पर दिखने और उससे बाहर निकलने के अलग-अलग ट्रांज़िशन का इस्तेमाल किया जा सकता है. कॉन्टेंट ट्रांसफ़ॉर्मेशन के तहत, AnimatedContent आने वाले कॉन्टेंट से मैच करने के लिए, अपने साइज़ को अपने-आप ऐनिमेट करता है. (I2c3df)
  • ManualFrameClock को हटा दिया गया है. अगर आपको ऐनिमेशन कंट्रोल करने हैं, तो इसके बजाय composeTestRule.mainClock का इस्तेमाल करें. (I3c3e8, b/189951065)

प्रोफ़ाइल के लिए नियम जोड़े गए

इस रिलीज़ में, इन कॉम्पोज़ मॉड्यूल (I14ed6) में प्रोफ़ाइल के नियम जोड़े गए हैं:

  • androidx.compose.animation
  • androidx.compose.animation-core
  • androidx.compose.foundation
  • androidx.compose.foundation-layout
  • androidx.compose.material
  • androidx.compose.material-ripple
  • androidx.compose.runtime
  • androidx.compose.ui
  • androidx.compose.ui.geometry
  • androidx.compose.ui.graphics
  • androidx.compose.ui.text
  • androidx.compose.ui.text
  • androidx.compose.ui.unit
  • androidx.compose.ui.util

प्रोफ़ाइल के नियम क्या होते हैं?

  • किसी लाइब्रेरी के लिए प्रोफ़ाइल के नियम, src/main या मिलती-जुलती डायरेक्ट्री में मौजूद टेक्स्ट फ़ाइल baseline-prof.txt में बताए जाते हैं. फ़ाइल में हर लाइन के लिए एक नियम तय किया जाता है. इस मामले में, नियम लाइब्रेरी में मौजूद तरीकों या क्लास से मैच करने के लिए एक पैटर्न होता है. इन नियमों का सिंटैक्स, ART प्रोफ़ाइल के ऐसे फ़ॉर्मैट का सुपरसेट है जिसे कोई भी व्यक्ति पढ़ सकता है. इसका इस्तेमाल adb shell profman --dump-classes-and-methods ... का इस्तेमाल करते समय किया जाता है. ये नियम, किसी भी तरीके या क्लास को टारगेट करने के लिए, इनमें से किसी एक फ़ॉर्म में होते हैं.

  • किसी तरीके के नियम का पैटर्न इस तरह का होगा:

    <FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
    
  • क्लास के लिए बने नियम का पैटर्न इस तरह का होगा:

    <CLASS_DESCRIPTOR>
    
  • यहां <FLAGS>, H, S, और P में से एक या उससे ज़्यादा वर्ण हैं. इनसे यह पता चलता है कि इस तरीके को "हॉट", "स्टार्टअप" या "स्टार्टअप के बाद" के तौर पर फ़्लैग किया जाना चाहिए या नहीं.

  • <CLASS_DESCRIPTOR>, उस क्लास का डिस्क्रिप्टर है जिससे टारगेट किया गया तरीका जुड़ा है. उदाहरण के लिए, क्लास androidx.compose.runtime.SlotTable का डिस्क्रिप्टर Landroidx/compose/runtime/SlotTable; होगा.

  • <METHOD_SIGNATURE>, मेथड का सिग्नेचर होता है. इसमें मेथड का नाम, पैरामीटर टाइप, और रिटर्न टाइप शामिल होते हैं. उदाहरण के लिए, LayoutNode पर मौजूद fun isPlaced(): Boolean तरीके का हस्ताक्षर isPlaced()Z है.

  • इन पैटर्न में वाइल्डकार्ड (**, *, और ?) हो सकते हैं, ताकि एक नियम में कई तरीके या क्लास शामिल हो सकें.

ये नियम क्या करते हैं?

  • जिस तरीके पर H फ़्लैग लगा होता है वह "हॉट" तरीका होता है. इसे समय से पहले कंपाइल किया जाना चाहिए.

  • जिस तरीके पर S फ़्लैग लगा होता है उससे पता चलता है कि यह स्टार्टअप के समय कॉल किया जाने वाला तरीका है. साथ ही, स्टार्टअप के समय तरीके को कंपाइल करने और उसका विश्लेषण करने में लगने वाले समय को बचाने के लिए, इसे पहले से कंपाइल किया जाना चाहिए.

  • जिस तरीके के साथ P फ़्लैग होता है उससे पता चलता है कि यह स्टार्टअप के बाद कॉल किया जाने वाला तरीका है.

  • इस फ़ाइल में मौजूद किसी क्लास का मतलब है कि उसका इस्तेमाल स्टार्टअप के दौरान किया जाता है. साथ ही, क्लास लोड होने में लगने वाले समय को बचाने के लिए, उसे पहले से ही हेप में असाइन किया जाना चाहिए.

यह कैसे काम करता है?

  • लाइब्रेरी ये नियम तय कर सकती हैं, जिन्हें AAR आर्टफ़ैक्ट में पैकेज किया जाएगा. जब इन आर्टफ़ैक्ट वाले ऐप्लिकेशन को बनाया जाता है, तो इन नियमों को आपस में मर्ज कर दिया जाता है. इसके बाद, मर्ज किए गए नियमों का इस्तेमाल, ऐप्लिकेशन के हिसाब से एक छोटी बाइनरी ART प्रोफ़ाइल बनाने के लिए किया जाता है. इसके बाद, जब ऐप्लिकेशन को डिवाइसों पर इंस्टॉल किया जाता है, तो ART इस प्रोफ़ाइल का फ़ायदा ले सकता है. इससे, ऐप्लिकेशन की परफ़ॉर्मेंस को बेहतर बनाने के लिए, ऐप्लिकेशन के किसी खास सबसेट को पहले से कंपाइल किया जा सकता है. खास तौर पर, ऐप्लिकेशन को पहली बार चलाने पर. ध्यान दें कि इससे, डीबग किए जा सकने वाले ऐप्लिकेशन पर कोई असर नहीं पड़ेगा.

वर्शन 1.0.0-beta08

2 जून, 2021

androidx.compose.animation:animation:1.0.0-beta08 और androidx.compose.animation:animation-core:1.0.0-beta08 रिलीज़ हो गए हैं. 1.0.0-beta08 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • अब detectDragGesures, detectVerticalGestures, और detectHorizontalGestures, पोज़िशन में हुए बदलाव को अपने-आप लागू कर देंगे. इसके लिए, onDrag कॉलबैक में change.consumePositionChange को कॉल करने की ज़रूरत नहीं है (I42fc4, b/185096350, b/187320697)
  • Modifier.onGloballyPositioned() को बदला गया, ताकि सभी मॉडिफ़ायर लागू करने के बाद, लेआउट के निर्देशांक के बजाय मॉडिफ़ायर चेन में इस मॉडिफ़ायर के निर्देशांक रिपोर्ट किए जा सकें. इसका मतलब है कि अब मॉडिफ़ायर के क्रम से यह तय होगा कि कौनसे निर्देशांक रिपोर्ट किए जाएंगे. (Ieb67d, b/177926591)

वर्शन 1.0.0-beta07

18 मई, 2021

androidx.compose.animation:animation:1.0.0-beta07 और androidx.compose.animation:animation-core:1.0.0-beta07 रिलीज़ हो गए हैं. 1.0.0-beta07 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • नया AnimatedVisibility एपीआई, जो MutableTransitionState में दिखने की जानकारी देने की सुविधा देता है. इसकी मदद से, currentState और isIdle के ज़रिए AnimatedVisibility के बाहर भी ऐनिमेशन की स्थितियों को देखा जा सकता है.
    • ट्रांज़िशन में, बच्चे के ट्रांज़िशन की नई सुविधा
    • AnimationScope.transition का इस्तेमाल करके, AnimatedVisibility में कस्टम तरीके से बाहर निकलने/अंदर आने के ट्रांज़िशन ऐनिमेशन के साथ काम करना
    • नया animateEnterExit मॉडिफ़ायर, AnimatedVisibility के सभी बच्चों के लिए ऐक्सेस किया जा सकता है
    • AnimatedVisibility API को बंद कर दिया गया है. ये ऐसे एपीआई हैं जो initiallyVisible पैरामीटर (I702f3) लेते हैं

वर्शन 1.0.0-beta06

5 मई, 2021

androidx.compose.animation:animation:1.0.0-beta06 और androidx.compose.animation:animation-core:1.0.0-beta06 रिलीज़ हो गए हैं. 1.0.0-beta06 वर्शन में ये बदलाव शामिल हैं.

वर्शन 1.0.0-beta05

21 अप्रैल, 2021

androidx.compose.animation:animation:1.0.0-beta05 और androidx.compose.animation:animation-core:1.0.0-beta05 रिलीज़ हो गए हैं. 1.0.0-beta05 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • ui-test-manifest और ui-tooling-data की AndroidManifest फ़ाइलें अब Android 12 (I6f9de, b/184718994) के साथ काम करती हैं

वर्शन 1.0.0-beta04

7 अप्रैल, 2021

androidx.compose.animation:animation:1.0.0-beta04 और androidx.compose.animation:animation-core:1.0.0-beta04 रिलीज़ हो गए हैं. 1.0.0-beta04 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • RowScope, ColumnScope, BoxScope, BoxWithConstraintsScope के सार्वजनिक इंस्टेंस हटा दिए गए. (I4e83e, b/181869067)

वर्शन 1.0.0-beta03

24 मार्च, 2021

androidx.compose.animation:animation:1.0.0-beta03 और androidx.compose.animation:animation-core:1.0.0-beta03 रिलीज़ हो गए हैं. 1.0.0-beta03 वर्शन में ये बदलाव शामिल हैं.

वर्शन 1.0.0-beta02

10 मार्च, 2021

androidx.compose.animation:animation:1.0.0-beta02 और androidx.compose.animation:animation-core:1.0.0-beta02 रिलीज़ हो गए हैं. 1.0.0-beta02 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई के सार्वजनिक इस्तेमाल पर पाबंदियां लगाना (I6aa29, b/174531520)

वर्शन 1.0.0-beta01

24 फ़रवरी, 2021

androidx.compose.animation:animation:1.0.0-beta01 और androidx.compose.animation:animation-core:1.0.0-beta01 रिलीज़ हो गए हैं. 1.0.0-beta01 वर्शन में ये बदलाव शामिल हैं.

यह Compose 1.0.0 बीटा वर्शन की पहली रिलीज़ है.

एपीआई में हुए बदलाव

  • InteractionState को [Mutable]InteractionSource से बदल दिया गया है
    • इंटरफ़ेस, इंटरैक्शन इवेंट को उत्सर्जित / इकट्ठा करने के लिए ज़िम्मेदार होते हैं.
    • Button और Modifier.clickable() जैसे कॉम्पोनेंट में interactionState = remember { InteractionState() } पास करने के बजाय, interactionSource = remember { MutableInteractionSource() } का इस्तेमाल करें.
    • इसके बजाय: Interaction.Pressed in interactionState आपको InteractionSource पर एक्सटेंशन फ़ंक्शन का इस्तेमाल करना चाहिए, जैसे कि InteractionSource.collectIsPressedAsState().
    • जटिल इस्तेमाल के उदाहरणों के लिए, इंटरैक्शन की स्ट्रीम को देखने के लिए InteractionSource.interactions का इस्तेमाल किया जा सकता है. ज़्यादा जानकारी के लिए, InteractionSource दस्तावेज़ और सैंपल देखें.
    • (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
  • smoothScrollBy और scrollBy तरीकों के पैकेज को androidx.compose.foundation.gestures.* (I3f7c1, b/175294473) में बदल दिया गया
  • साइज़ मॉडिफ़ायर के नाम बदले गए. Modifier.width/height/size का नाम बदलकर, requiredWidth/requiredHeight/requiredSize कर दिया गया. Modifier.preferredWidth/preferredHeight/preferredSize का नाम बदलकर width/height/size कर दिया गया है. (I5b414)
  • ओरिएंटेशन को फ़ाउंडेशन पैकेज में ले जाया गया है. VelocityTracker को ui.gesture से ui.input.pointer में ले जाया गया. (Iff4a8, b/175294473)
  • AnimationClockObservable और सबक्लास हटा दिए गए हैं. AnimatedFloat को हटा दिया गया है. (Icde52, b/177457083)
  • Modifier.draggable अब सामान्य लैम्ब्डा के बजाय DraggableState स्वीकार करता है. पहले जैसा व्यवहार पाने के लिए, rememberDraggableState { delta -> } की मदद से स्टेटस बनाया जा सकता है (Ica70f, b/175294473)
  • animate, animatedValue, AnimatedValue एपीआई हटा दिए गए हैं (If27bc, b/177457083)
  • AnimationEndReason.Interrupted को हटा दिया गया है. अगर ऐनिमेशन में रुकावट आती है, तो CancellationException का मैसेज दिखेगा. (I2cbbc, b/179695417)
  • TargetAnimation API को हटा दिया गया है. (If47d1, b/177457083)

वर्शन 1.0.0-alpha12

10 फ़रवरी, 2021

androidx.compose.animation:animation:1.0.0-alpha12 और androidx.compose.animation:animation-core:1.0.0-alpha12 रिलीज़ हो गए हैं. 1.0.0-alpha12 वर्शन में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • Modifier.pointerInput को अब याद रखने वाली कुंजियों की ज़रूरत है, ताकि यह पता चल सके कि नई डिपेंडेंसी के लिए, पॉइंटर इनपुट डिटेक्शन कोरुटाइन को कब रीस्टार्ट करना चाहिए. (I849cd)
  • Bounds का नाम बदलकर DpRect (I4b32a) कर दिया गया है
  • ऐनिमेशन सिस्टम में, AnimationSpec के पैरामीटर के नाम को animationSpec पर एकीकृत किया गया. FiniteAnimationSpec को स्वीकार करने के लिए, Enter/ExitTransition पर भी पाबंदी लगाएं. (Ie47c5, b/177457083)
  • Animatable.snapTo और Animatable.stop अब सस्पेंड फ़ंक्शन हैं (If4288)
  • हमने पहले state { 0 } कॉम्पोज़ेबल को हटा दिया था और अब remember { mutableStateOf(0) } जैसे कॉम्पोज़ेबल के इस्तेमाल का प्रमोशन कर रहे हैं. इसी तरह, हम savedInstanceState { 0 } कॉम्पोज़ेबल को हटाने जा रहे हैं. इसके बजाय, आपको rememberSaveable { mutableStateOf(0) } का इस्तेमाल करना चाहिए. अगर MutableState में इस्तेमाल किए गए टाइप को बंडल में सेव किया जा सकता है, तो यह अपने-आप सेव और वापस आ जाएगा. अगर पहले कस्टम सेवर ऑब्जेक्ट पास किया जा रहा था, तो अब आपको rememberSaveable के नए ओवरलोड का इस्तेमाल करना होगा. इसमें stateSaver पैरामीटर है. इस्तेमाल इस तरह दिखेगा: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } (Ib4c26, b/177338004)
  • क्रॉसफ़ेड के तरीके के हस्ताक्षर को अपडेट किया गया, ताकि वह बाकी ऐनिमेशन सिस्टम के साथ ज़्यादा मेल खा सके. (Ib05ed, b/177457083)
  • rememberSavedInstanceState() का नाम बदलकर rememberSaveable() कर दिया गया है. साथ ही, इसे androidx.compose.runtime.saveable पैकेज में ले जाया गया है. (I1366e, b/177338004)
  • RestorableStateHolder का नाम बदलकर SaveableStateHolder कर दिया गया है और इसे androidx.compose.runtime.saveable पैकेज में ले जाया गया है. अंदरूनी तरीके RestorableStateProvider का नाम बदलकर SaveableStateProvider कर दिया गया. सामान्य टाइप को हटा दिया गया है, ताकि आप किसी भी कीवर्ड के तौर पर पास कर सकें. एक्सपेरिमेंट के तौर पर एनोटेशन की ज़रूरत अब नहीं है. (I0902e, b/174598702)
  • बाकी ऐनिमेशन सिस्टम के साथ काम करने के लिए, Modifier.animateContentSize API को अपडेट किया गया है. (I0bf75, b/177457083)
  • AnimatedValue/Float का इस्तेमाल अब नहीं किया जा सकता. इसके बजाय, कृपया Animatable का इस्तेमाल करें. (I71345, b/177457083)
  • tapGestureFilter, doubleTapGestureFilter, longPressGestureFilter, और pressIndicaitonGestureFilter अब काम नहीं करते. इसके बजाय, detectTapGestures फ़ंक्शन के साथ Modifier.clickable या Modifier.pointerInput का इस्तेमाल करें. (I6baf9, b/175294473)
  • InfiniteAnimationPolicy कोरुटिन कॉन्टेक्स्ट एलिमेंट को जोड़ा गया है. इसे अनलिमिटेड ऐनिमेशन में लागू किया जाएगा. डिफ़ॉल्ट रूप से कोई नीति इंस्टॉल नहीं होती. हालांकि, ComposeTestRule के साथ टेस्ट चलाने पर नीति इंस्टॉल हो जाती है. (I50ec4, b/151940543)
  • Destructuring और copy() तरीकों को कई क्लास से हटा दिया गया है, जहां इनका इस्तेमाल बहुत कम किया जाता था. (I26702, b/178659281)
  • ऐनिमेशन में चलने का समय अब नैनोसेकंड में तय नहीं किया जा सकता (If776a)
  • compose:runtime-dispatch आर्टफ़ैक्ट अब काम नहीं करता. MonotonicFrameClock को अब compose:runtime में और AndroidUiDispatcher को compose:ui में देखा जा सकता है. (Ib5c36)
  • Animation.isInfinite और VectorizedAnimationSpec.isInfinite जोड़े गए हैं. इनसे यह पता चलता है कि कोई ऐनिमेशन, अनंत है या नहीं. इसका इस्तेमाल ऐनिमेशन लागू करने के लिए किया जा सकता है, ताकि ऐसे ऐनिमेशन को खास तौर पर हैंडल किया जा सके. उदाहरण के लिए, "बचे हुए समय" का कोई खास मैसेज दिखाया जा सकता है. इसके अलावा, जांच के दौरान ऐनिमेशन को रद्द किया जा सकता है, ताकि इंतज़ार के दौरान उपयोगकर्ता का ध्यान न भटके. (Iebb05, b/151940543)
  • ऐनिमेशन के समय के टाइप के तौर पर, अपटाइम के बजाय लंबी अवधि का इस्तेमाल करें (Ie3aa7, b/177420019)

वर्शन 1.0.0-alpha11

28 जनवरी, 2021

androidx.compose.animation:animation:1.0.0-alpha11 और androidx.compose.animation:animation-core:1.0.0-alpha11 रिलीज़ हो गए हैं. 1.0.0-alpha11 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • TransitionDefinition पर आधारित ट्रांज़िशन की सुविधा बंद कर दी गई है (I0ac57)
  • टूल में ट्रांज़िशन और चाइल्ड ऐनिमेशन दिखाने के लिए, एक लेबल फ़ील्ड जोड़ा गया है (I619fb)
  • animateAsState अब animateFooAsState हो गया है. इसमें Foo, ऐनिमेशन वाले वैरिएबल का टाइप होता है. जैसे, फ़्लोट, डीपी, ऑफ़सेट वगैरह (Ie7e25)
  • नया InfiniteTransition, जो किसी भी संख्या में चाइल्ड ऐनिमेशन चलाता है. (I1da81)
  • Material के स्टेटफ़ुल पैरामीटर इंटरफ़ेस में बदलाव करके, State<T> दिखाने वाले @Composable फ़ंक्शन जोड़ता है. Animatable.asState() जोड़ता है, ताकि Animatable को State में आसानी से बदला जा सके. साथ ही, animateElevation को Animatable पर निलंबित किए जाने वाले एक्सटेंशन में बदलता है. (If613c)

गड़बड़ियां ठीक की गईं

  • SideEffect और DisposableEffect API के पक्ष में, onCommit, onDispose, और onActive को बंद कर दिया गया है (If760e)
  • updateTransition में Initial State का इस्तेमाल अब किया जा सकता है (Ifd51d)
  • इमेज और आइकॉन में, कॉन्टेंट का ब्यौरा पैरामीटर जोड़ा गया है. इसका इस्तेमाल, सुलभता सेवाओं के बारे में जानकारी देने के लिए किया जाता है (I2ac4c)
  • invalidate और compositionReference() फ़ंक्शन अब काम नहीं करते. इनकी जगह, currentRecomposeScope और rememberCompositionReference फ़ंक्शन का इस्तेमाल किया जा सकता है. (I583a8)
  • 'कुल समय' और 'अपटाइम' को लंबे मिलीसेकंड से बदल दिया जाएगा. साथ ही, इस चरण से उन क्लास पर पॉइंटर इनपुट की डिपेंडेंसी हट जाएगी. (Ia33b2, b/175142755, b/177420019)
  • क्लिक किए जा सकने वाले, टॉगल किए जा सकने वाले, और चुने जा सकने वाले आइटम अब कॉम्पोज़िशन के बाहर बनाए जा सकते हैं (I0a130, b/172938345, b/175294473)
  • Easing को फ़ंक्शनल इंटरफ़ेस (Ib14e5) में बदल दिया गया है
  • LazyColumn/LazyRow/LazyVerticalGrid के दायरे के लिए, नई items(count: Int) फ़ैक्ट्री मेथड. items(items: List) और itemsIndexed(items: List) अब एक्सटेंशन फ़ंक्शन हैं. इसलिए, इनका इस्तेमाल करने पर, आपको इन्हें मैन्युअल तरीके से इंपोर्ट करना होगा. ऐरे के लिए नए एक्सटेंशन ओवरलोड: items(items: Array) और itemsIndexed(Array) (I803fc, b/175562574)
  • टेस्टिंग में TestCoroutineDispatcher का इस्तेमाल करना (I532b6)
  • PointerInputData को हटा दिया गया और PointerInputChange को बदल दिया गया, ताकि उसे PointerInputData के सभी फ़ील्ड मिल सकें. PointerInputEvent और PointerInputEventData को इंटरनल बना दिया गया है, क्योंकि इनका इस्तेमाल किसी भी सार्वजनिक एपीआई में नहीं किया जाता. (Ifff97, b/175142755)

वर्शन 1.0.0-alpha10

13 जनवरी, 2021

androidx.compose.animation:animation:1.0.0-alpha10 और androidx.compose.animation:animation-core:1.0.0-alpha10 रिलीज़ हो गए हैं. 1.0.0-alpha10 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • कॉम्पोनेंट के हिस्सों और गणितीय ऑपरेशन के लिए, वेग में बदलाव किया गया. (Ib0447)
  • @ExperimentalTesting को @ExperimentalTestApi में बदला गया, ताकि यह एपीआई के मिलते-जुलते एक्सपेरिमेंटल एनोटेशन (Ia4502, b/171464963) के मुताबिक हो
  • Position का नाम बदलकर DpOffset कर दिया गया और getDistance() को हटा दिया गया (Ib2dfd)
  • Any.identityHashCode() पब्लिक एपीआई हटाया गया (I025d7)

गड़बड़ियां ठीक की गईं

  • कोरुटाइन पर आधारित नया एपीआई Animatable, जो ऐनिमेशन के बीच एक-दूसरे को एक्सक्लूज़िव बनाता है. कई डाइमेंशन वाले डेकेयर ऐनिमेशन के साथ काम करने के लिए, नया DecayAnimationSpec (I820f2, b/168014930)
  • animate() को अब animateAsState() से बदल दिया गया है, जो T के बजाय State<T> दिखाता है. इससे परफ़ॉर्मेंस बेहतर होती है, क्योंकि अमान्य करने के दायरे को उस जगह तक सीमित किया जा सकता है जहां स्टेटस वैल्यू पढ़ी जाती है. (Ib179e)

वर्शन 1.0.0-alpha09

16 दिसंबर, 2020

androidx.compose.animation:animation:1.0.0-alpha09 और androidx.compose.animation:animation-core:1.0.0-alpha09 रिलीज़ हो गए हैं. 1.0.0-alpha09 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • Dp.VectorConverter, Position.VectorConverter वगैरह को ऐनिमेशन-कोर में ले जाया गया है. साथ ही, पुराने VectorConveters (If0c4b) को बंद कर दिया गया है
  • ट्रांज़िशन एपीआई का एक नया सेट लॉन्च किया गया है. इसकी मदद से, ऐनिमेशन को डाइनैमिक तौर पर जोड़ा जा सकता है और डाइनैमिक तौर पर कैलकुलेट किए गए ऐनिमेशन टारगेट का इस्तेमाल किया जा सकता है. साथ ही, इसे इस्तेमाल करना पहले के मुकाबले आसान हो गया है. इन एपीआई को एक्सपेरिमेंट के तौर पर मार्क किया गया है, ताकि इन्हें TransitionDefinition पर आधारित एपीआई से आसानी से अलग किया जा सके. (Ia7fe3)

गड़बड़ियां ठीक की गईं

  • ऑफ़सेट मॉडिफ़ायर में मौजूद Lambdas, अब Float के बजाय IntOffset दिखाते हैं. (Ic9ee5, b/174137212, b/174146755)
  • LazyColumnFor, LazyRowFor, LazyColumnForIndexed, और LazyRowForIndexed फ़ंक्शन का इस्तेमाल बंद करें. इसके बजाय, LazyColumn और LazyRow का इस्तेमाल करें (I5b48c)
  • पॉइंटर इनपुट एपीआई को निलंबित करने के लिए, HandlePointerInputScope का नाम बदलकर AwaitPointerEventScope और handlePointerInput() का नाम बदलकर awaitPointerEventScope() कर दिया गया है. (Idf0a1, b/175142755)
  • InfiniteRepeatableSpec बनाने के लिए नया infiniteRepeatable फ़ंक्शन (I668e5)
  • ExperimentalPointerInput एनोटेशन हटाया गया (Ia7a24)

वर्शन 1.0.0-alpha08

2 दिसंबर, 2020

androidx.compose.animation:animation:1.0.0-alpha08 और androidx.compose.animation:animation-core:1.0.0-alpha08 रिलीज़ हो गए हैं. 1.0.0-alpha08 वर्शन में ये कमिट शामिल हैं.

एपीआई में हुए बदलाव

  • Compose के दिशा-निर्देशों के मुताबिक, कॉम्पोज़ेबल लैंब्डा पैरामीटर के नाम और पोज़िशन की जांच करने के लिए, लिंट की जांच जोड़ी गई है. हमने कुछ एपीआई को भी माइग्रेट किया है. इनमें, लैम्ब्डा फ़ंक्शन के आखिर में children के तौर पर इस्तेमाल किए गए नाम को content पर सेट किया गया है. ऐसा, लिंट की जांच और दिशा-निर्देशों के मुताबिक किया गया है. (Iec48e)
  • पहले से बंद किए गए एपीआई हटा दिए गए हैं:
    • Modifier.onPositioned को हटा दिया गया है. Modifier.onGloballyPositioned का इस्तेमाल करें.
    • Modifier.onDraw को हटा दिया गया है. Modifier.onDrawBehind का इस्तेमाल करें.
    • Modifier.plus को हटा दिया गया है. Modifier.then का इस्तेमाल करें.
    • Color.Unset को हटा दिया गया है. Color.Unspecified का इस्तेमाल करें.
    • PxBounds क्लास हटा दी गई है. इसके बजाय, Rect का इस्तेमाल करें.
    • (Ie9d02, b/172562222)
  • TestAnimationClock को MonotonicFrameClock से कंट्रोल करने के लिए, कुछ समय के लिए विकल्प जोड़ा गया है (I1403b, b/173402197)

गड़बड़ियां ठीक की गईं

  • Modifier.drawLayer का नाम बदलकर Modifier.graphicsLayer कर दिया गया है. साथ ही, एपीआई काउंसिल के सुझाव के मुताबिक, इससे जुड़ी क्लास को GraphicsLayer में अपडेट कर दिया गया है. (I0bd29, b/173834241)
  • drawLayer के लिए, ज़्यादा सुविधा के तौर पर Modifier.scale/rotate एपीआई जोड़े गए हैं.
    • Modifier.drawOpacity का नाम बदलकर Modifier.alpha कर दिया गया
    • Modifier.drawShadow का नाम बदलकर Modifier.shadow कर दिया गया (I264ca, b/173208140)
  • PointerInputData के uptime और position फ़ील्ड के लिए, वैल्यू सबमिट करना ज़रूरी है. (Id468a)
  • offsetPx मॉडिफ़ायर का नाम बदलकर offset कर दिया गया. अब ये स्टेट के बजाय, लैंब्डा पैरामीटर ले रहे हैं. (Ic3021, b/173594846)
  • कोरूटीन में ऐनिमेशन चलाने के लिए नए एपीआई (Ied662)
  • Ambient को सफ़िक्स के तौर पर इस्तेमाल करके बनाए गए ऐंबियंट को बंद कर दिया गया है. साथ ही, उन्हें ऐंबियंट के प्रीफ़िक्स वाली नई प्रॉपर्टी से बदल दिया गया है. ऐसा, ऐंबियंट और Compose API के अन्य दिशा-निर्देशों के मुताबिक किया गया है. (I33440)
  • टेस्ट में समय कंट्रोल (TestAnimationClock और इसका इस्तेमाल) अब एक्सपेरिमेंट के तौर पर उपलब्ध है (I6ef86, b/171378521)
  • पुराने ui-test मॉड्यूल और उसके स्टब (I3a7cb) हटाएं
  • RestorableStateHolder.withRestorableState फ़ंक्शन का नाम बदलकर RestorableStateProvider (I66640) कर दिया गया है
  • अलाइनमेंट इंटरफ़ेस को अपडेट किया गया और उसे काम करने लायक बनाया गया. (I46a07, b/172311734)

वर्शन 1.0.0-alpha07

11 नवंबर, 2020

androidx.compose.animation:animation:1.0.0-alpha07 और androidx.compose.animation:animation-core:1.0.0-alpha07 रिलीज़ हो गए हैं. 1.0.0-alpha07 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • फ़ाउंडेशन AmbientTextStyle, ProvideTextStyle, और AmbientContentColor अब काम नहीं करते. इसके बजाय, Material लाइब्रेरी में मौजूद नए वर्शन का इस्तेमाल करें. जो ऐप्लिकेशन Material नहीं हैं उनके लिए, आपको अपने डिज़ाइन सिस्टम के हिसाब से थीम वाले ऐसे ऐंबियंट बनाने चाहिए जिन्हें आपके कॉम्पोनेंट में इस्तेमाल किया जा सके. (I74acc, b/172067770)
  • foundation.Text का इस्तेमाल बंद कर दिया गया है और इसे material.Text से बदल दिया गया है. अगर आपको कोई ऐसा बुनियादी टेक्स्ट एपीआई चाहिए जो किसी थीम की वैल्यू का इस्तेमाल न करता हो, तो androidx.compose.foundation.BasicText देखें. (If64cb)
  • MeasureResult को MeasureScope से हटा दिया गया है. (Ibf96d, b/171184002)
  • लेआउट से जुड़े कई सिंबल को androidx.compose.ui से androidx.compose.layout.ui में ले जाया गया. (I0fa98, b/170475424)

वर्शन 1.0.0-alpha06

28 अक्टूबर, 2020

androidx.compose.animation:animation:1.0.0-alpha06 और androidx.compose.animation:animation-core:1.0.0-alpha06 रिलीज़ हो गए हैं. 1.0.0-alpha06 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • ComposeTestRule में ट्रांज़िशन चालू करें; ComposeTestRule से, ब्लिंक करने वाले कर्सर को चालू करने का विकल्प हटाएं. (If0de3)

वर्शन 1.0.0-alpha05

14 अक्टूबर, 2020

androidx.compose.animation:animation:1.0.0-alpha05 और androidx.compose.animation:animation-core:1.0.0-alpha05 रिलीज़ हो गए हैं. 1.0.0-alpha05 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • नया ऐनिमेशन इंटरफ़ेस और सबक्लास: ये क्लास, ऐनिमेशन के शुरू और खत्म होने की शर्तों को सेव करती हैं. इसलिए, इनकी मदद से सिर्फ़ प्लेटाइम के ज़रिए वैल्यू और वेग की क्वेरी की जा सकती है (Ie95bd, b/163329867)

गड़बड़ियां ठीक की गईं

  • OnPositionedModifier का नाम बदलकर OnGloballyPositionedModifier कर दिया गया है और onPositioned() का नाम बदलकर onGloballyPositioned कर दिया गया है. (I587e8, b/169083903)
  • contentColor() और currentTextStyle() एपीआई को बंद कर दिया गया है. साथ ही, उन्हें AmbientContentColor और AmbientTextStyle ऐंबियंट की जगह पर इस्तेमाल किया जा सकता है. किसी भी अन्य ऐंबियंट की तरह, ऐंबियंट प्रॉपर्टी पर .current का इस्तेमाल करके, मौजूदा वैल्यू को ऐक्सेस किया जा सकता है. यह बदलाव, एक ही काम को करने के लिए कई तरीकों से बचने और एक जैसी सुविधा देने के लिए किया गया था. इसके अलावा, कुछ ऐंबियंट प्रॉपर्टी के नाम बदले गए हैं, ताकि उनके मकसद के बारे में बेहतर तरीके से बताया जा सके. इन प्रॉपर्टी के नाम इस तरह हैं:

    • ContentColorAmbient -> AmbientContentColor
    • TextStyleAmbient -> AmbientTextStyle
    • IndicationAmbient -> AmbientIndication
    • EmphasisAmbient -> AmbientEmphasisLevels
    • RippleThemeAmbient -> AmbientRippleTheme (I37b6d)

वर्शन 1.0.0-alpha04

1 अक्टूबर, 2020

androidx.compose.animation:animation:1.0.0-alpha04 और androidx.compose.animation:animation-core:1.0.0-alpha04 रिलीज़ हो गए हैं. 1.0.0-alpha04 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • @VisibleForTesting के साथ एनोटेट किए गए rootAnimationClockFactory, transitionsEnabled, blinkingCursorEnabled, और textInputServiceFactory को इंटरनल एपीआई बनाएं और उनके kdoc को छिपाएं (I554eb, b/168308412)

गड़बड़ियां ठीक की गईं

  • कई Graphics API अपडेट किए गए
    • स्केल और रोटेशन ट्रांसफ़ॉर्मेशन एपीआई को अपडेट किया गया है, ताकि DrawScope और DrawTransform में x/y निर्देशांक के लिए अलग-अलग फ़्लोट पैरामीटर के बजाय, पिवट निर्देशांक दिखाने के लिए एक ऑफ़सेट पैरामीटर का इस्तेमाल किया जा सके
    • Rect.expandToInclude और Rect.join methods को हटाया गया
    • दायरे के दस्तावेज़ को अपडेट किया गया, ताकि अंडाकार के साथ-साथ, दीर्घवृत्ताकार के बारे में भी बताया जा सके
    • दस्तावेज़ जोड़ा गया है, ताकि यह पता चल सके कि इनलाइन Radius क्लास के लिए, पब्लिक कन्स्ट्रक्टर को सीधे तौर पर नहीं बुलाया जाना चाहिए. इसके बजाय, Radius ऑब्जेक्ट को उनके फ़ंक्शन कन्स्ट्रक्टर के ज़रिए इंस्टैंशिएट किया जाना चाहिए
    • topRight, bottomRight, bottomCenter वगैरह के बारे में क्वेरी करने के लिए, RoundRect APIs को हटा दिया गया है.
    • Rect.translate के पक्ष में Rect.shift को बंद कर दिया गया है
    • RoundRect.grow और Rect.shrink एपीआई हटाए गए
    • RoundRect.outerRect का नाम बदलकर Rect.boundingRect किया गया
    • RoundRect.middleRect/tallMiddleRect/wideMiddleRect और Rect.isStadium तरीकों को हटाया गया
    • RoundRect.longestSide का नाम बदलकर RoundRect.maxDimension कर दिया गया
    • RoundRect.shortestSide का नाम बदलकर RoundRect.minDimension कर दिया गया
    • RoundRect.center को फ़ंक्शन के बजाय प्रॉपर्टी में बदल दिया गया
    • x/y त्रिज्या की वैल्यू के लिए, अलग-अलग पैरामीटर के बजाय त्रिज्या प्रॉपर्टी का इस्तेमाल करने के लिए, RoundRect कन्स्ट्रक्टर को अपडेट किया गया
    • साइज़ एपीआई हटा दिए गए हैं, जो यह मानते थे कि यह 0,0 पर ऑरिजिन वाला रेक्टैंगल है
    • Radius में डेस्ट्रक्टिंग एपीआई जोड़ा गया
    • RoundRect एक्सटेंशन के अलग-अलग फ़ंक्शन को प्रॉपर्टी के तौर पर माइग्रेट किया गया
    • (I8f5c7, b/168762961)
  • foundation.Box अब काम नहीं करता. इसके बजाय, कृपया foundation.layout.Box का इस्तेमाल करें. (Ie5950, b/167680279)
  • स्टैक का नाम बदलकर Box कर दिया गया. compose.foundation.layout में मौजूदा बॉक्स को हटा दिया जाएगा और इसके बजाय, नया बॉक्स जोड़ा जाएगा. नए बॉक्स में, एक से ज़्यादा चाइल्ड एलिमेंट होने पर, वे एक-दूसरे के ऊपर स्टैक हो जाते हैं. यह पिछले बॉक्स से अलग है, जो कॉलम की तरह काम करता था. (I94893, b/167680279)
  • बॉक्स को सजाने के पैरामीटर बंद कर दिए गए हैं. अगर आपको अपने बॉक्स में सजावट/पैडिंग करनी है, तो इसके बजाय मॉडिफ़ायर (Modifier.background, Modifier.border, Modifier.padding) का इस्तेमाल करें (Ibae92, b/167680279)
  • हमने लेआउट स्कोप के कॉन्टेंट के स्टैटिक इंपोर्ट को रोक दिया है. जैसे, RowScope में alignWithSiblings. इसके बजाय, स्कोप के लिए साफ़ तौर पर बताए गए विकल्प का इस्तेमाल किया जाना चाहिए: with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }. (I216be, b/166760797)

वर्शन 1.0.0-alpha03

16 सितंबर, 2020

androidx.compose.animation:animation:1.0.0-alpha03 और androidx.compose.animation:animation-core:1.0.0-alpha03 रिलीज़ हो गए हैं. 1.0.0-alpha03 वर्शन में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • लेआउट एपीआई में अलाइन या अलाइनमेंट के लिए, ग्रेविटी के इस्तेमाल का नाम बदल दिया गया था. (I2421a, b/164077038)

वर्शन 1.0.0-alpha02

2 सितंबर, 2020

androidx.compose.animation:animation:1.0.0-alpha02 और androidx.compose.animation:animation-core:1.0.0-alpha02 रिलीज़ हो गए हैं. 1.0.0-alpha02 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • ManualFrameClock.hasAwaiters जोड़ा गया, ताकि यह देखा जा सके कि क्या कोई भी चीज़ उस घड़ी से फ़्रेम का इंतज़ार कर रही है; runWithManualClock को runBlocking के बदले तब इस्तेमाल किया जाता है, जब ऐसे टेस्ट चलाए जा रहे हों जिनमें ManualFrameClock की ज़रूरत होती है; TestUiDispatcher.Main, जो आपके टेस्ट में मुख्य यूज़र इंटरफ़ेस (यूआई) डिस्पैचर को आसानी से ऐक्सेस करने की सुविधा देता है.

    उदाहरण के लिए:

    @Test
    fun myTest() = runWithManualClock { clock ->
        // set some compose content
        withContext(TestUiDispatcher.Main) {
            clock.advanceClock(1000L)
        }
        if (clock.hasAwaiters) {
            println("The clock has awaiters")
        } else {
            println("The clock has no more awaiters")
        }
    }
    

    (I0a85b, b/161247083)

गड़बड़ियां ठीक की गईं

  • onPreCommit का इस्तेमाल नहीं किया जा सकता. अब onCommit में onPreCommit की तरह काम किया जाता है.

    onCommit और onActive अब उसी कोरियोग्राफ़र फ़्रेम में चलते हैं जिसमें कॉम्पोज़िशन में बदलाव किए गए हैं. ये अगले कोरियोग्राफ़र फ़्रेम की शुरुआत में नहीं चलते. (I70403)

वर्शन 1.0.0-alpha01

26 अगस्त, 2020

androidx.compose.animation:animation:1.0.0-alpha01 और androidx.compose.animation:animation-core:1.0.0-alpha01 रिलीज़ हो गए हैं. 1.0.0-alpha01 वर्शन में ये कमिट शामिल हैं.

वर्शन 0.1.0-dev

वर्शन 0.1.0-dev17

19 अगस्त, 2020

androidx.compose.animation:animation:0.1.0-dev17 और androidx.compose.animation:animation-core:0.1.0-dev17 रिलीज़ हो गए हैं. 0.1.0-dev17 वर्शन में ये बदलाव शामिल हैं.

नई सुविधाएं

एपीआई में हुए बदलाव

  • ऑफ़सेट, इनलाइन क्लास (Iaec70) बन गया है
  • IntOffset अब एक इनलाइन क्लास (Iac0bf) है
  • IntSize अब एक इनलाइन क्लास (I2bf42) है
  • AnimatedVisibilty कॉम्पोनेंट, बच्चों के लिए बने कॉन्टेंट के दिखने और न दिखने की प्रोसेस को ऐनिमेट करता है.

    EnterTransition और ExitTransition, AnimatedVisibilty composable के साथ काम करने के लिए पेश किए गए हैं. इनकी मदद से, कॉम्पोनेंट के दिखने और न दिखने के लिए तीन तरह के ऐनिमेशन दिए जा सकते हैं: फ़ेड, स्लाइड, और कॉन्टेंट को बड़ा/छोटा करना. अलग-अलग तरह के ऐनिमेशन को एक साथ जोड़कर, अपनी पसंद के मुताबिक लुक और स्टाइल बनाया जा सकता है. (Idda11)

  • Rect के पक्ष में PxBounds को बंद कर दिया गया है. PxBounds के सभी इस्तेमाल को रेक्ट के साथ अपडेट किया गया है. साथ ही, माइग्रेशन में मदद करने के लिए, एनोटेशन के साथ सही तरीके से 'इस्तेमाल न करें'/'इसकी जगह यह इस्तेमाल करें' जोड़ा गया है. (I37038, b/162627058)

गड़बड़ियां ठीक की गईं

  • PlacementScope.placeAbsolute() का नाम बदलकर PlacementScope.place() कर दिया गया है. साथ ही, पिछले PlacementScope.place() का नाम बदलकर PlacementScope.placeRelative() कर दिया गया है. इस वजह से, PlacementScope.place() तरीका अब दाईं से बाईं ओर के कॉन्टेक्स्ट में, पोज़िशन को अपने-आप मिरर नहीं करेगा. अगर आपको ऐसा करना है, तो इसके बजाय PlacementScope.placeRelative() का इस्तेमाल करें. (I873ac, b/162916675)
  • state { ... } कॉम्पोज़ेबल का इस्तेमाल अब नहीं किया जा सकता. इसके बजाय, remember { mutableStateOf(...) } को साफ़ तौर पर कॉल करें. इससे, एपीआई के पूरे प्लैटफ़ॉर्म और स्टेटस मैनेजमेंट के लिए कॉन्सेप्ट की संख्या कम हो जाती है. साथ ही, यह क्लास प्रॉपर्टी के डेलिगेशन के लिए by mutableStateOf() पैटर्न से मेल खाता है. (Ia5727)

वर्शन 0.1.0-dev16

5 अगस्त, 2020

androidx.compose.animation:animation:0.1.0-dev16 और androidx.compose.animation:animation-core:0.1.0-dev16 रिलीज़ हो गए हैं. 0.1.0-dev16 वर्शन में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • बिल्ट-इन यूनिट को बदलने के लिए, अब Foo.VectorConverter के ज़रिए बिल्ट-इन वेक्टर कन्वर्टर ऐक्सेस किए जा सकते हैं. उदाहरण के लिए, Dp.VectorConverter, Color.VectorConverter, Float.VectorConverter वगैरह (I3e273)
  • Modifier.animateContentSize() में आखिर में सुनने वाले की सुविधा जोड़ें, ताकि साइज़ बदलने वाला ऐनिमेशन खत्म होने पर, सुनने वाले को सूचना दी जा सके. साथ ही, ऐनिमेशन के शुरू/खत्म होने के साइज़ की जानकारी भी दी जा सके. (I277b2)
  • नया animateContentSize मॉडिफ़ायर, जो अपने चाइल्ड मॉडिफ़ायर (Ieffdc) के लेआउट साइज़ में होने वाले बदलाव को ऐनिमेट करता है
  • MonotonicFrameAnimationClock जोड़ा गया है. इसकी मदद से, AnimationClockObservable के तौर पर MonotonicFrameClock का इस्तेमाल किया जा सकता है. इससे, कोर्यूटीन पर आधारित नई घड़ियों और अब भी कॉलबैक पर आधारित पुरानी घड़ियों का इस्तेमाल करने वाले एपीआई के बीच का अंतर कम हो जाता है.

    ManualAnimationClock के बराबर MonotonicFrameClock अब ManualFrameClock है. (I111c7, b/161247083)

गड़बड़ियां ठीक की गईं

  • दाएं से बाएं लिखने की सुविधा के लिए एपीआई अपडेट कर दिए गए हैं. LayoutDirectionAmbient जोड़ा गया है. इसका इस्तेमाल, लेआउट की दिशा को पढ़ने और बदलने के लिए किया जा सकता है. Modifier.rtl और Modifier.ltr को हटा दिया गया है. (I080b3)
  • transitionDefinition के लिए, टाइप T को साफ़ तौर पर बताना ज़रूरी है. (I1aded)
  • foundation.shape.corner पैकेज को foundation.share में फ़्लैट कर दिया गया (I46491, b/161887429)
  • Modifier.plus को बंद कर दिया गया है. इसके बजाय, Modifier.then का इस्तेमाल करें. 'इसके बाद' में क्रम से लगाने का सिग्नल ज़्यादा होता है. साथ ही, इसमें Modifier.padding().background() + anotherModifier टाइप करने की अनुमति नहीं होती, जिससे चेन टूट जाती है और उसे पढ़ना मुश्किल हो जाता है (Iedd58, b/161529964)
  • Modifier.drawBackground का नाम बदलकर Modifier.background कर दिया गया है (I13677)

वर्शन 0.1.0-dev15

22 जुलाई, 2020

androidx.compose.animation:animation:0.1.0-dev15 और androidx.compose.animation:animation-core:0.1.0-dev15 रिलीज़ हो गए हैं. 0.1.0-dev15 वर्शन में ये बदलाव शामिल हैं.

डिपेंडेंसी से जुड़ा अपडेट

  • Compose के 0.1.0-dev15 वर्शन का इस्तेमाल करने के लिए, आपको डिपेंडेंसी का एलान करना में ऊपर दिखाए गए नए कोड स्निपेट के हिसाब से, अपनी डिपेंडेंसी अपडेट करनी होंगी.

एपीआई में हुए बदलाव

  • Transition API को बदला गया है, ताकि वह बच्चों को TransitionState भेजने के बजाय, TransitionState दिखा सके. इससे एपीआई, animate() एपीआई के साथ ज़्यादा काम करता है. (I24e38)
  • क्रॉसफ़ेड के लिए मॉडिफ़ायर पैरामीटर जोड़ा गया (I87cfe, b/159706180)
  • स्टैटिक ऐनिमेशन स्पेसिफ़िकेशन के कॉन्सेप्ट को साफ़ तौर पर बताने के लिए, टॉप लेवल एपीआई में AnimationBuilder के बजाय AnimationSpec का इस्तेमाल करें
    • ट्वीन, स्प्रिंग जैसी ऐनिमेशन स्पेसिफ़िकेशन बनाने के लिए, लैम्ब्डा की ज़रूरत को हटाकर ट्रांज़िशन डीएसएल को बेहतर बनाएं. इसके बजाय, वे सीधे तौर पर कंस्ट्रक्टर पैरामीटर लेते हैं.
    • बिल्डर पर भरोसा करने के बजाय, कन्स्ट्रक्टर को खोलकर, AnimationSpec के इस्तेमाल को आसान बनाएं
    • KeyFrames और Tween के लिए, अवधि और देरी को Int में बदलें. इससे, Long और Int, दोनों के साथ काम करने के लिए, ज़रूरत के बिना टाइप कास्ट और मेथड ओवरलोडिंग की सुविधा हट जाती है. (Ica0b4)
  • IntPx के इस्तेमाल को Int से बदला गया. IntPxPosition को IntOffset से बदला गया. IntPxSize को IntSize से बदला गया. (Ib7b44)
  • साइज़ की जानकारी दिखाने के लिए इस्तेमाल की जाने वाली क्लास की संख्या को कम करने के लिए, PxSize के बजाय साइज़ क्लास का इस्तेमाल करें. इससे, इनलाइन क्लास के फ़ायदे मिलते हैं. इनसे, दो फ़्लोट वैल्यू को पैक करने के लिए लंबी वैल्यू का फ़ायदा मिलता है. इन वैल्यू से, चौड़ाई और ऊंचाई को फ़्लोट के तौर पर दिखाया जाता है. (Ic0191)
  • पोज़िशन की जानकारी दिखाने के लिए इस्तेमाल की जाने वाली क्लास की संख्या को कम करने के लिए, PxPosition के बजाय Offset क्लास के इस्तेमाल को स्टैंडर्ड बनाएं. इससे, इनलाइन क्लास के फ़ायदे मिलते हैं. इनमें, दो फ़्लोट वैल्यू को पैक करने के लिए लॉन्ग का फ़ायदा लेना शामिल है. इन वैल्यू का इस्तेमाल, x और y ऑफ़सेट को फ़्लोट के तौर पर दिखाने के लिए किया जाता है. (I3ad98)
  • पिक्सल पैरामीटर के लिए सिर्फ़ Dp और प्राइमिटिव टाइप पर भरोसा करने के लिए, रीफ़ैक्टर करने की बड़ी प्रोसेस के तहत, अलग-अलग कॉम्पोज़ क्लास में Px क्लास के इस्तेमाल को बदल दिया गया है (I086f4)
  • Dp, Px, Size, Position, Bounds, PxPosition, PxSize, PxBounds, IntPx, IntPxSize, IntPxPosition, IntPxBounds, और AnimationVector के लिए animate() की सुविधा जोड़ी गई (Ib7518)
  • क्रॉसफ़ेड में अब ऐनिमेशन को कॉन्फ़िगर करने के लिए, AnimationBuilder पैरामीटर का इस्तेमाल किया जा सकता है. हालांकि, ऐसा करना ज़रूरी नहीं है (I6d6e0)
  • एपीआई में, शून्य वैल्यू के साथ इस्तेमाल किए जा सकने वाले Color के सभी इस्तेमाल को, शून्य वैल्यू के साथ इस्तेमाल न किए जा सकने वाले Color से बदला गया. साथ ही, null के बजाय Color.Unset का इस्तेमाल किया गया (Iabaa7)
  • ValueHolder क्लास हटाई गई. ऐनिमेशन वैल्यू फ़ील्ड को एब्स्ट्रैक्ट बनाने के लिए, AnimatedValue और AnimatedFloat क्लास को फिर से व्यवस्थित किया गया, ताकि सबक्लास वैल्यू अपडेट देख सकें.
    • AnimatedValue, AnimatedFloat वगैरह के लिए मॉडल क्लास जोड़ी गईं.
    • वैल्यू के बीच ऐनिमेशन करने के लिए, लाइट-वेट @Composable API का नया सेट जोड़ा गया है. (I79530)
  • ambients API में होने वाले बदलावों के बारे में जानकारी. ज़्यादा जानकारी के लिए लॉग और Ambient<T> दस्तावेज़ देखें (I4c7ee, b/143769776)
  • दोहराने का नया मोड: उल्टी दिशा में. यह मोड, RepeatableSpec या VectorizedRepeatableSpec में ऐनिमेशन दोहराए जाने पर, पिछले दोहराए गए हिस्से को वापस ले जाता है. (Ibe0f5)
  • ManualAnimationClock में एपीआई के जोड़े गए एलिमेंट: hasObservers: Boolean और कंस्ट्रक्टर पैरामीटर dispatchOnSubscribe: Boolean (Iaa134)
  • AnimatedFloat (Icd9cc) में कम से कम/ज़्यादा से ज़्यादा सीमा पाने के लिए एपीआई जोड़े गए

गड़बड़ियां ठीक की गईं

  • runOnIdleCompose का नाम बदलकर runOnIdle कर दिया गया (I83607)
  • जांच करने वाले कई एपीआई के नाम बदल दिए गए हैं, ताकि उन्हें इस्तेमाल करना आसान हो. सभी findXYZ एपीआई का नाम बदलकर onNodeXYZ कर दिया गया है. doXYZ वाले सभी एपीआई का नाम बदलकर performXYZ कर दिया गया है. (I7f164)
  • स्टेटलेस ऐनिमेशन के लिए, लो लेवल के एपीआई जोड़े गए. ये एपीआई (I63bf7)
  • Recompose composable अब काम का नहीं है. ज़्यादातर मामलों में, MutableState असाइनमेंट की वजह से फिर से कॉम्पोज़ होना चाहिए. इसके अलावा, हमारा सुझाव है कि मौजूदा स्कोप को फिर से कॉम्पोज़ करने के लिए, invalidate फ़ंक्शन का इस्तेमाल करें. (Ifc992)
  • पिक्सल पैरामीटर के लिए सिर्फ़ Dp और प्राइमिटिव टाइप पर भरोसा करने के लिए, रीफ़ैक्टर करने के बड़े प्रयास के तहत, अलग-अलग compose क्लास में Px क्लास के इस्तेमाल को बदल दिया गया है. पूरी Px क्लास मिटाई गई (I3ff33)
  • पिक्सल पैरामीटर (Id3434) के लिए, सिर्फ़ Dp और प्राइमटिव टाइप पर भरोसा करने के लिए, रीफ़ैक्टर करने की बड़ी कोशिश के तहत, अलग-अलग कंपोज क्लास में Px क्लास के इस्तेमाल को बदल दिया गया
  • क्रॉसफ़ेड अब शुरुआती वैल्यू के तौर पर शून्य के साथ काम कर सकता है (Iad6a4, b/155947711)
  • पिक्सल पैरामीटर के लिए सिर्फ़ Dp और प्राइमिटिव टाइप पर भरोसा करने के लिए, रीफ़ैक्टर करने के बड़े प्रयास के तहत, अलग-अलग कॉम्पोज़ क्लास में Px क्लास के इस्तेमाल को बदल दिया गया है (I19d02)
  • CanvasScope को एक साथ लागू किया गया है, इसलिए अब सिर्फ़ DrawScope और ContentDrawScope है. साथ ही, CanvasScope का नाम बदलकर DrawScope कर दिया गया है. Density इंटरफ़ेस को लागू करने और LayoutDirection देने के लिए, DrawScope को अपडेट किया गया है ContentDrawScope में DrawScope सबक्लास को मिटा दिया गया है Painter और PainterModifier को अपडेट किया गया है, ताकि वे अब RTL प्रॉपर्टी को खुद मैनेज न करें, क्योंकि DrawScope पहले से ही इसे मैन्युअल तौर पर उपलब्ध कराता है (I1798e)
  • अपडेट किए गए बेहतर लेवल के Compose API, जो CanvasScope को एक्सपोज़ करने के लिए Canvas को एक्सपोज़ करते हैं. इससे उपभोक्ताओं को अपने Paint ऑब्जेक्ट मैनेज करने की ज़रूरत नहीं पड़ती. जिन उपयोगकर्ताओं को अब भी कैनवस का ऐक्सेस चाहिए वे drawCanvas एक्सटेंशन के तरीके का इस्तेमाल कर सकते हैं. यह तरीका, कैनवस पर ड्रॉ करने के निर्देश देने के लिए कॉलबैक उपलब्ध कराता है. (I80afd)
  • लाइन और कॉलम में, verticalGravity और horizontalGravity पैरामीटर जोड़े गए हैं. (I7dc5a)
  • ui-text मॉड्यूल का नाम बदलकर ui-text-core (I57dec) कर दिया गया है
  • DrawModifier API को बेहतर बनाना:
    • draw() ContentDrawScope के लिए रिसीवर स्कोप बनाया गया
    • draw() से सभी पैरामीटर हटाए गए
    • DrawScope का इंटरफ़ेस, CanvasScope जैसा ही है
    • ContentDrawScope में drawContent() मेथड है (Ibaced, b/152919067)
  • runOnIdleCompose और runOnUiThread अब ComposeTestRule पर मौजूद तरीकों के बजाय, ग्लोबल फ़ंक्शन हैं. (Icbe8f)
  • [बदली जा सकने वाली]Kotlin 1.4 प्रॉपर्टी के प्रतिनिधि के ऑप्टिमाइज़ेशन के साथ काम करने के लिए, स्टेट प्रॉपर्टी के प्रतिनिधि ऑपरेटर को एक्सटेंशन में ले जाया गया. by state { ... } या by mutableStateOf(...) का इस्तेमाल जारी रखने के लिए, कॉल करने वाले लोगों को इंपोर्ट जोड़ने होंगे. (I5312c)
  • ColoredRect फ़ंक्शन का इस्तेमाल बंद कर दिया गया है. इसके बजाय, Box(Modifier.preferredSize(width, height).drawBackground(color)) का इस्तेमाल करें. (I499fa, b/152753731)
  • फ़ैक्ट्री एक्सटेंशन फ़ंक्शन (I225e4) के साथ मॉडिफ़ायर प्लस ऑपरेटर को बदला गया
  • अब काम न करने वाला सेंटर कॉम्पोज़ेबल. इसे LayoutSize.Fill + LayoutAlign.Center मॉडिफ़ायर से बदला जाना चाहिए. इसके अलावा, इसे Box या Stack कंपोज़ेबल में से किसी एक के साथ भी बदला जा सकता है. इसके लिए, उस पर सही मॉडिफ़ायर लागू करें (Idf5e0)
  • LayoutFlexible का नाम बदलकर LayoutWeight कर दिया गया. भरने के लिए, टाइट पैरामीटर का नाम बदला गया. (If4738)
  • ओपैसिटी कंपोज़ेबल फ़ंक्शन को drawOpacity मॉडिफ़ायर से बदल दिया गया है. (I5fb62)
  • AndroidComposeTestRule का इस्तेमाल करने वाले टेस्ट में, अब कॉम्पोज़िशन के रूट में ऐनिमेशन वाला एक घड़ी दिखती है. इसकी मदद से, कॉम्पोज़िशन को रोका, फिर से शुरू किया, और मैन्युअल तरीके से आगे बढ़ाया जा सकता है. (Id54c5)
  • LayoutPadding मॉडिफ़ायर (I9e8da) में, दाईं से बाईं ओर की दिशा के लिए सहायता
  • Density और DensityScope को एक इंटरफ़ेस में मर्ज कर दिया गया है. ambientDensity() के बजाय, अब DensityAmbient.current का इस्तेमाल किया जा सकता है. withDensity(density) के बजाय, सिर्फ़ with(density) (I11cb1)
  • अलग-अलग तरह की इनलाइन क्लास में कॉपी करने के तरीके जोड़े गए. इनमें ये शामिल हैं:
    • ऑफ़सेट
    • साइज़
    • दायरा
    • मोशन
    • TransformOrigin
    • इंस्टेंस कॉपी करने के तरीके (Ife290, b/159905651) के पक्ष में, Size.copy कंपैनियन ऑब्जेक्ट का मेथड बंद किया गया
  • androidx.compose.ViewComposer को androidx.ui.node.UiComposer पर ले जाया गया है androidx.compose.Emittable को हटा दिया गया है. यह ComponentNode के साथ काम नहीं करता था. इसलिए, androidx.compose.ViewAdapters को हटा दिया गया है. अब इनका इस्तेमाल नहीं किया जा सकता. Compose.composeInto का इस्तेमाल नहीं किया जा सकता. इसके बजाय, setContent या setViewContent का इस्तेमाल करें. Compose.disposeComposition को बंद कर दिया गया है. इसके बजाय, setContent से दिखाए गए Composition पर dispose तरीके का इस्तेमाल करें. androidx.compose.Compose.subcomposeInto को androidx.ui.core.subcomposeInto में ले जाया गया है ComponentNode#emitInsertAt का नाम बदलकर ComponentNode#insertAt कर दिया गया है ComponentNode#emitRemoveAt का नाम बदलकर ComponentNode#removeAt कर दिया गया है ComponentNode#emitMode का नाम बदलकर ComponentNode#move कर दिया गया है (Idef00)