Animasyon oluşturma

Kullanıcı deneyimini zenginleştirmek için Jetpack Compose uygulamalarında animasyon oluşturabilirler.
Son Güncelleme Kararlı Sürüm Sürüm Adayı Beta Sürümü Alfa Sürümü
11 Aralık 2024 1.7.6 - - 1.8.0-alpha07

Yapı

Oluşturma, androidx içindeki 7 Maven grup kimliğinin birleşimidir. Her grup, kendi sürüm notları kümesine sahip hedeflenen bir işlev alt kümesi içerir.

Bu tabloda, gruplar ve her sürüm notları grubunun bağlantıları açıklanmaktadır.

GrupAçıklama
compose.animationKullanıcı deneyimini zenginleştirmek için Jetpack Compose uygulamalarında animasyon oluşturabilirler.
compose.compiler@Composable işlevlerini dönüştürün ve Kotlin derleyici eklentisi ile optimizasyonları etkinleştirin.
compose.foundationKullanıma hazır yapı taşlarıyla Jetpack Compose uygulamaları yazın ve kendi tasarım sistemi parçalarınızı oluşturmak için temeli genişletin.
compose.materialKullanıma hazır Materyal Tasarım bileşenleriyle Jetpack Compose kullanıcı arayüzleri oluşturun. Bu, www.material.io'da açıklananlarla eşleşen bileşenler sağlamak için tasarlanmış Compose'un üst düzey giriş noktasıdır.
compose.material3Materyal Tasarım'ın bir sonraki aşaması olan Materyal Tasarım 3 bileşenleriyle Jetpack Compose kullanıcı arayüzleri oluşturun. Material 3, güncellenmiş temalar ve bileşenler ile dinamik renk gibi Material You kişiselleştirme özelliklerini içerir ve yeni Android 12 görsel stili ve sistem kullanıcı arayüzüyle uyumlu olacak şekilde tasarlanmıştır.
compose.runtimeCompose'un programlama modelinin ve durum yönetiminin temel yapı taşları ve Compose Derleyici Eklentisi'nin hedeflemesi gereken temel çalışma zamanı.
compose.uiDüzen, çizim ve giriş dahil olmak üzere cihazla etkileşim kurmak için gereken, oluşturma kullanıcı arayüzünün temel bileşenleri.

Bağımlılıkları beyan etme

Compose'a bağımlılık eklemek için projenize Google Maven deposunu eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu okuyun.

Uygulamanızın veya modülünüzün build.gradle dosyasına ihtiyacınız olan yapıların bağımlılıklarını ekleyin:

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"
    }
}

Bağımlılıklar hakkında daha fazla bilgi için Derleme bağımlılıkları ekleme başlıklı makaleyi inceleyin.

Geri bildirim

Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmek için fikirleriniz varsa lütfen bize bildirin. Yeni bir kitaplık oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oy verebilirsiniz.

Yeni sorun oluşturma

Daha fazla bilgi için Sorun İzleyici belgelerine bakın.

1.8 sürümü

Sürüm 1.8.0-alpha07

11 Aralık 2024

androidx.compose.animation:animation-*:1.8.0-alpha07 yayınlanır. 1.8.0-alpha07 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Öğeleri tutmak ve kaydırma işlemini gerçekleştirmek için önizleme geçişini yaklaşım geçişinden ayırarak Pager'da önizlemeyi destekler. (b/371802474)

Hata Düzeltmeleri

  • Ortak bir öğenin oluşturulduğu ancak hiçbir zaman ölçülmediği/yerleştirilmediği nadir bir kilitlenmeyi, ortak öğenin yer paylaşımında oluşturulmadan önce en az bir kez yerinde oluşturulmasını zorunlu kılarak düzeltir. (b/371802474)

Sürüm 1.8.0-alpha06

13 Kasım 2024

androidx.compose.animation:animation-*:1.8.0-alpha06 yayınlanır. 1.8.0-alpha06 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Paylaşılan öğe API'leri arasında tutarlılık sağlamak için sharedElement parametresinin adı state yerine sharedContentState olarak güncellendi. (I5694c, b/375351468)
  • AnimatedImageVector API paketi artık kararlı. (I7174b, b/261436267)

Sürüm 1.8.0-alpha05

30 Ekim 2024

androidx.compose.animation:animation-*:1.8.0-alpha05 yayınlanır. 1.8.0-alpha05 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • İleriye dönük ipucu özelliği artık LazyGrid'te destekleniyor. Bu, kaydırma, öğe kompozisyonu/disposal ve öğe animasyonunda önizleme geçişini yaklaşım geçişinden ayırmayı içerir ve kaydırma için doğruluk kaynağı ve öğe animasyon hedefi olarak önizleme geçişini kullanır.

Hata Düzeltmeleri

  • Geçiş yeniden oluşturulduğunda AnimatedContent'ün boyut dönüştürme işlemi için dahili durumları güncelleyin. Bu sayede hedef boyut bilgileri her zaman güncel olur. (b/372512085)

Sürüm 1.8.0-alpha04

16 Ekim 2024

androidx.compose.animation:animation-*:1.8.0-alpha04 yayınlanır. 1.8.0-alpha04 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Belirli zaman kesirlerinde bazı yumuşatma eğrilerinin kilitlenmesine neden olan hata düzeltildi.
  • Sağdan sola metin hizalaması altında Modifier.animateContentSize için yanlış hizalamaya neden olan hata düzeltildi. (Idae6b, b/372055503)

Sürüm 1.8.0-alpha03

2 Ekim 2024

androidx.compose.animation:animation-*:1.8.0-alpha03 yayınlanır. 1.8.0-alpha03 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Kotlin sürümü 1.9'a güncellendi (I1a14c)

Hata Düzeltmeleri

  • Devamlılığı sağlamak için animasyonu her zaman mevcut boyuttan izleyerek ve başlatarak AnimatedContent boyut animasyonuyla ilgili bir sorun düzeltildi.

Sürüm 1.8.0-alpha02

18 Eylül 2024

androidx.compose.animation:animation-*:1.8.0-alpha02 yayınlanır. 1.8.0-alpha02 sürümü bu taahhütleri içerir.

Sürüm 1.8.0-alpha01

4 Eylül 2024

androidx.compose.animation:animation-*:1.8.0-alpha01 yayınlanır. 1.8.0-alpha01 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Bir önizleme kapsamında boyut ve konum değişikliklerini animasyonlu hale getirmek için yeni Modifier.animateBounds API. 94b9394

API Değişiklikleri

  • Yay ve eğri içeren animasyon karelerindeki deneme amaçlı işaretleri kaldırma (89e1199)

Hata Düzeltmeleri

  • Eşleşme bulunmadığında placeHolderSize mantığını atlama (77c0160)
  • Monotonik olmayan şekilde artan oynatma süresi nedeniyle kilitlenmeleri önlemek için oynatma süresini AndroidFlingSpline içinde sınırlama(9d47587)
  • Belirli koşullarda SharedTransitionScope öğelerinin çizilmemesi sorununu düzeltme (b41077b6)

Harici Katkı

  • Steven Schoen tarafından, geçiş çalışmıyorken playTime aranabilir geçiş ayarını engelleme. (c2e6e7e6)

1.7 sürümü

Sürüm 1.7.6

11 Aralık 2024

androidx.compose.animation:animation-*:1.7.6 yayınlanır. 1.7.6 sürümü bu taahhütleri içerir.

Sürüm 1.7.5

30 Ekim 2024

androidx.compose.animation:animation-*:1.7.5 yayınlanır. 1.7.5 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Sağdan sola metin hizalaması altında Modifier.animateContentSize için yanlış hizalamaya neden olan hata düzeltildi. (Idae6b, b/372055503)

Sürüm 1.7.4

16 Ekim 2024

androidx.compose.animation:animation-*:1.7.4 yayınlanır. 1.7.4 sürümü bu taahhütleri içerir.

Sürüm 1.7.3

2 Ekim 2024

androidx.compose.animation:animation-*:1.7.3 yayınlanır. 1.7.3 sürümü bu taahhütleri içerir.

1.7.2 sürümü

18 Eylül 2024

androidx.compose.animation:animation-*:1.7.2 yayınlanır. 1.7.2 sürümü bu taahhütleri içerir.

Harici Katkı

  • Hiçbir geçiş çalışmıyorken playTime aranabilir geçiş ayarını önleme. Teşekkür ederiz Steven Schoen. (c2e6e7e6)

1.7.1 sürümü

10 Eylül 2024

  • Android yapılarında değişiklik yapılmamıştır. -desktop yapı kaldırıldı ve -jvmStubs ile -linuxx64Stubs yapıları eklendi. Bu hedeflerin hiçbiri kullanılmak için tasarlanmamıştır. Bunlar, Jetbrains Compose çalışmalarına yardımcı olan yer tutuculardır.

1.7.0 sürümü

4 Eylül 2024

androidx.compose.animation:animation-*:1.7.0 yayınlanır.

1.6.0 sürümünden bu yana yapılan önemli değişiklikler

1.7.0 sürümündeki önemli değişiklikler bu blog yayınında ele alınmıştır.

Yeni Paylaşılan Öğe Geçiş API'leri

  • Yeni paylaşılan öğe geçişi API'leri kullanımınızı ve geri bildiriminizi bekliyor. Bu yeni deneysel API'ler, sağlanan değiştiriciler kullanılarak düzenlerin düzen ağacı genelinde paylaşıldığı şekilde etiketlenmesini sağlar. Böylece, paylaşılan içeriklerden biri çıktığında ve diğeri girdiğinde sınırların sorunsuz bir şekilde değişmesini sağlar. (Icb0b9)
  • sharedBounds'de içeriği ölçeklendirmek için yeni scaleInSharedContentToBounds ve scaleOutSharedContentToBounds (I731c1)
  • Deneysel SharedTransitionScope artık sınıf yerine bir arayüzdür. (Iaf856)
  • sharedBounds için ölçeklendirme ve yeniden ölçme arasında seçim yapmak üzere yeni resizeModes (ScaleToBounds ve RemeasureToBounds). Önceki scaleIn/OutSharedContentToBounds API'leri artık kullanımdan kaldırıldı. (I0d41a)

Mevcut API'lerde yapılan iyileştirmeler:

  • Özel içerik hizası için ek bir parametre alan yeni Modifier.animateContentSize. (I5623a, b/269803907)
  • Boyut, konum veya örnekleme sırasında bilinmeyen diğer hedefleri animasyonlu hale getirmek için yeni deneysel DeferredTargetAnimation. (I60745)
  • SeekableTransitionState, snapTo() değerini seekTo() ile değiştirir ve herhangi bir animasyon olmadan durumu hemen hedef duruma değiştiren bir snapTo() ekler.
  • Artık keyframesWithSpline değerini (kayan nokta) keyframesWithSpline değerine iletebilirsiniz. Bu, spline'ın başlangıç ve bitiş hızının eşit olmasını sağlar.periodicBias Eğriler kullanılan tekrarlanabilir animasyonlar için kullanışlıdır. Yanlışlık, her bir hızın (ilk ve son) periyodikliğe ulaşmak için ne kadar değiştirildiğini gösterir. (Ic1e6c, b/292114811)

Aşağıdaki API'ler kararlı hale geldi veya kaldırıldı:

  • AnimatedVisibilityScope.transition artık kararlı bir API'dir. Modifier.animateEnterExit(..) de kararlı hale getirildi. (I6c1d1)
  • ApproachLayoutModifierNode ve Modifier.approachLayout artık kararlı. Sırasıyla eski isMeasurementApproachComplete() ve isPlacementApproachComplete()'in yerini yeni isMeasurementApproachInProgress() ve isPlacementApproachInProgress() aldı.
  • Desteği sonlandırılan intermediateLayout değiştirici kaldırıldı. (I3e91c)
  • LookaheadScope API'leri kararlı hale getirildi. (I21507)

Sürüm 1.7.0-rc01

21 Ağustos 2024

androidx.compose.animation:animation-*:1.7.0-rc01 yayınlanır. 1.7.0-rc01 sürümü bu taahhütleri içerir.

Sürüm 1.7.0-beta07

7 Ağustos 2024

androidx.compose.animation:animation-*:1.7.0-beta07 yayınlanır. 1.7.0-beta07 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • SharedTransitionScope'ün, belirli koşullarda geçiş sırasında yer paylaşımı öğelerini çizmemesi sorunu düzeltildi. Bu koşullar genellikle Gezinme ile birlikte kullanımı içerir. (Id65ab, b/347520198)

Sürüm 1.7.0-beta06

24 Temmuz 2024

androidx.compose.animation:animation-*:1.7.0-beta06 yayınlanır. 1.7.0-beta06 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Geçiş sonlandırılırken SnapshotStateObserver'daki gözlemler doğru şekilde temizlenerek SeekableTransition'te geçiş durumlarının sızması düzeltildi. (b9c7182)
  • Üst öğe tamamlandığında alt öğe geçişlerinin düzgün şekilde tamamlandı olarak işaretlenmemesine neden olan uç durumlar düzeltildi. (dc42216)

Sürüm 1.7.0-beta05

10 Temmuz 2024

androidx.compose.animation:animation-*:1.7.0-beta05 yayınlanır. 1.7.0-beta05 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Geçiş mülkü totalDurationNanos artık snapshotFlow içinde düzgün bir şekilde okunabilir.

Sürüm 1.7.0-beta04

26 Haziran 2024

androidx.compose.animation:animation-*:1.7.0-beta04 yayınlanır. 1.7.0-beta04 sürümü bu taahhütleri içerir.

Sürüm 1.7.0-beta03

12 Haziran 2024

androidx.compose.animation:animation-*:1.7.0-beta03 yayınlanır. 1.7.0-beta03 sürümü bu taahhütleri içerir.

Sürüm 1.7.0-beta02

29 Mayıs 2024

androidx.compose.animation:animation-*:1.7.0-beta02 yayınlanır. 1.7.0-beta02 sürümü bu taahhütleri içerir.

Sürüm 1.7.0-beta01

14 Mayıs 2024

androidx.compose.animation:animation-*:1.7.0-beta01 yayınlanır. 1.7.0-beta01 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • sharedBounds için ölçeklendirme ve yeniden ölçme arasında seçim yapmak üzere yeni resizeModes (ScaleToBounds ve RemeasureToBounds). Önceki scaleIn/OutSharedContentToBounds API'leri artık kullanımdan kaldırıldı. (I0d41a)

Harici Katkı

  • Steven Schoen tarafından geliştirilen deneysel SharedTransitionScope artık sınıf yerine bir arayüzdür. (Iaf856, b/338415048, b/338414702)

Sürüm 1.7.0-alpha08

1 Mayıs 2024

androidx.compose.animation:animation-*:1.7.0-alpha08 yayınlanır. 1.7.0-alpha08 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • LookaheadScope API'leri kararlı hale getirildi. (I21507)

Harici Katkı

  • Steven Schoen (1ca89529) tarafından oluşturulan SeekableTransitionState animasyon/kare oluşturduktan sonra animasyon başlangıç zamanını temizle

Sürüm 1.7.0-alpha07

17 Nisan 2024

androidx.compose.animation:animation-*:1.7.0-alpha07 yayınlanır. 1.7.0-alpha07 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Yeni paylaşılan öğe geçiş API'leri kullanımınızı ve geri bildiriminizi bekliyor. Bu yeni deneysel API'ler, sağlanan değiştiriciler kullanılarak düzenlerin düzen ağacı genelinde paylaşıldığı şekilde etiketlenmesini sağlar. Böylece, paylaşılan içeriklerden biri çıktığında ve diğeri girdiğinde sorunsuz bir şekilde değişen sınırlar oluşturulur. (Icb0b9)
  • sharedBounds'de içeriği ölçeklendirmek için yeni scaleInSharedContentToBounds ve scaleOutSharedContentToBounds (I731c1)

API Değişiklikleri

  • AnimatedVisibilityScope.transition artık kararlı bir API'dir. Modifier.animateEnterExit(..) de kararlı hale getirildi. (I6c1d1)
  • ApproachLayoutModifierNode ve Modifier.approachLayout artık kararlı. Sırasıyla eski isMeasurementApproachComplete() ve isPlacementApproachComplete()'in yerini yeni isMeasurementApproachInProgress() ve isPlacementApproachInProgress() aldı.
  • Desteği sonlandırılan intermediateLayout değiştirici kaldırıldı. (I3e91c)
  • Artık keyframesWithSpline değerini (kayan nokta) keyframesWithSpline değerine iletebilirsiniz. Bu, spline'ın başlangıç ve bitiş hızının eşit olmasını sağlar.periodicBias Eğriler kullanılan tekrarlanabilir animasyonlar için kullanışlıdır. Yanlışlık, her bir hızın (ilk ve son) periyodikliğe ulaşmak için ne kadar değiştirildiğini gösterir. (Ic1e6c, b/292114811)

Hata Düzeltmeleri

  • Daha önce 0,1'e sabitlenen aşırı ve yetersiz yumuşatma eğrileri düzeltildi (I38747)

Sürüm 1.7.0-alpha06

3 Nisan 2024

androidx.compose.animation:animation-*:1.7.0-alpha06 yayınlanır. 1.7.0-alpha06 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • LazyColumn ve LazyRow'e öğelerin görünmesi ve kaybolması animasyonu desteği eklendi. Daha önce, yerleşim (yeniden sıralama) animasyonlarını desteklemek için Modifier.animateItemPlacement() değiştiricisi eklenebiliyordu. Bu değiştiricinin desteği sonlandırıldı ve üç animasyon türünü de (görünme (görüntü yavaşça belirir), kaybolma (görüntü yavaşça kaybolur) ve yeniden sıralama) desteklemenize olanak tanıyan Modifier.animateItem() adlı yeni bir deneysel olmayan değiştirici kullanıma sunuldu. (I2d7f7, b/330152398, b/150812265)

Hata Düzeltmeleri

  • updateTransition API'nin performansı iyileştirildi.

Sürüm 1.7.0-alpha05

20 Mart 2024

androidx.compose.animation:animation-*:1.7.0-alpha05 yayınlanır. 1.7.0-alpha05 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • SeekableTransitionState, snapTo() değerini seekTo() ile değiştirir ve herhangi bir animasyon olmadan durumu hemen hedef duruma değiştiren bir snapTo() ekler.

Sürüm 1.7.0-alpha04

6 Mart 2024

androidx.compose.animation:animation-*:1.7.0-alpha04 yayınlanır. 1.7.0-alpha04 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Bir yolun yönünü tersine çevirmek için yeni Path.reverse() API'si (I36348)

Sürüm 1.7.0-alpha03

21 Şubat 2024

androidx.compose.animation:animation-*:1.7.0-alpha03 yayınlanır. 1.7.0-alpha03 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Özel içerik hizası için ek bir parametre alan yeni Modifier.animateContentSize. (I5623a, b/269803907)
  • Boyut, konum veya örnekleme sırasında bilinmeyen diğer hedefleri animasyonlu hale getirmek için yeni deneysel DeferredTargetAnimation. (I60745)

Sürüm 1.7.0-alpha02

7 Şubat 2024

androidx.compose.animation:animation-*:1.7.0-alpha02 yayınlanır. 1.7.0-alpha02 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • KeyframesSpec için uyumluluk düzeltmesi. (I2bdf3, b/322214617)
  • Modifier.animateContentSize'ün LazyList'te kullanıldığında düzgün şekilde sıfırlanmaması sorunu düzeltildi. (I070512, b/322525716)
  • Aralık dışındaki zaman damgalarını kullanırken IllegalStateException yerine KeyframesSpec düzeltildi. (I341b8, b/322839811)

Sürüm 1.7.0-alpha01

24 Ocak 2024

androidx.compose.animation:animation-*:1.7.0-alpha01 yayınlanır. 1.7.0-alpha01 sürümü bu taahhütleri içerir.

1.6 sürümü

1.6.8 sürümü

12 Haziran 2024

androidx.compose.animation:animation-*:1.6.8 yayınlanır. 1.6.8 sürümü bu taahhütleri içerir.

1.6.7 sürümü

1 Mayıs 2024

androidx.compose.animation:animation-*:1.6.7 yayınlanır. 1.6.7 sürümü bu taahhütleri içerir.

1.6.6 sürümü

17 Nisan 2024

androidx.compose.animation:animation-*:1.6.6 yayınlanır. Önceki sürümden bu yana değişiklik yok

1.6.5 sürümü

3 Nisan 2024

androidx.compose.animation:animation-*:1.6.5 yayınlanır. 1.6.5 sürümü bu taahhütleri içerir.

1.6.4 sürümü

20 Mart 2024

androidx.compose.animation:animation-*:1.6.4 yayınlanır. 1.6.4 sürümü bu taahhütleri içerir.

Sürüm 1.6.3

6 Mart 2024

androidx.compose.animation:animation-*:1.6.3 yayınlanır. 1.6.3 sürümü bu taahhütleri içerir.

Sürüm 1.6.2

21 Şubat 2024

androidx.compose.animation:animation-*:1.6.2 yayınlanır. 1.6.2 sürümü bu taahhütleri içerir.

1.6.1 sürümü

7 Şubat 2024

androidx.compose.animation:animation-*:1.6.1 yayınlanır. 1.6.1 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

1.6.0 sürümü

24 Ocak 2024

androidx.compose.animation:animation-*:1.6.0 yayınlanır. 1.6.0 sürümü bu taahhütleri içerir.

Sürüm 1.6.0-rc01

10 Ocak 2024

androidx.compose.animation:animation-*:1.6.0-rc01 yayınlanır. 1.6.0-rc01 sürümü bu taahhütleri içerir.

Sürüm 1.6.0-beta03

13 Aralık 2023

androidx.compose.animation:animation-*:1.6.0-beta03 yayınlanır. 1.6.0-beta03 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Öngörü gerektirdikleri için scaleInToFitContainer ve scaleOutToFitContainer, AnimatedContentTransitionScope'den geçici olarak kaldırıldı. Bunlar, önizleme varsayılan olarak açıkken veya gelecekteki sürümlerde etkinleştirildiğinde kullanılabilir.

Sürüm 1.6.0-beta02

29 Kasım 2023

androidx.compose.animation:animation-*:1.6.0-beta02 yayınlanır. 1.6.0-beta02 sürümü bu taahhütleri içerir.

Sürüm 1.6.0-beta01

15 Kasım 2023

androidx.compose.animation:animation-*:1.6.0-beta01 yayınlanır. 1.6.0-beta01 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • ExitTransition.Hold, daha açıklayıcı olması için ExitTransition.KeepUntilTransitionsFinished olarak yeniden adlandırıldı. (I1c490)
  • Artık monoton spline'leri kullanarak N boyutlu herhangi bir değeri enterpolasyon için keyframesWithSpline kullanabilirsiniz. Özellikle Offset, IntOffset, DpOffset gibi konumsal değerlerin ara değerle doldurulması yararlıdır. Deneysel API olarak eklendi.

Hata Düzeltmeleri

  • ArcLine'te Sweep Gradyan için oluşturma desteği eklendi. (I4d5bb)
  • PageSize.Fixed için equals ve hashcode işlevlerini uygulayın. (Ie3ede, b/300134276)
  • Pencere içe yerleştirilmesi değişikliğiyle ilgili ikili uyumluluk sorunu düzeltildi. (Iee695)
  • Mikro karşılaştırmalar, bu katman olmadan daha iyi performans gösterdiğinden Material3 çipi/düğmesi için materyal çekirdek katmanını kaldırın. (I55555)

Sürüm 1.6.0-alpha08

18 Ekim 2023

androidx.compose.animation:animation-*:1.6.0-alpha08 yayınlanır. 1.6.0-alpha08 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Oluşturucu kalıbını koruyan KeyframesSpecConfig#using için KeyframesSpecConfig#with desteği sonlandırıldı. (I1d769)

Sürüm 1.6.0-alpha07

4 Ekim 2023

androidx.compose.animation:animation-*:1.6.0-alpha07 yayınlanır. 1.6.0-alpha07 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Sabit ve Kaydırılabilir Sekme Satırları artık Birincil ve İkincil varyantlara sahiptir. Bunlar, Material3'te tanımlanan renk ve gösterge davranışıyla doğru şekilde eşleştirilir.
  • PrimaryScrollableTabRow ve SecondaryScrollableTabRow artık kaydırma durumunu gösterir. (Iec8f5, b/260572337)

Sürüm 1.6.0-alpha06

20 Eylül 2023

androidx.compose.animation:animation-*:1.6.0-alpha06 yayınlanır. 1.6.0-alpha06 sürümü bu taahhütleri içerir.

Sürüm 1.6.0-alpha05

6 Eylül 2023

androidx.compose.animation:animation-*:1.6.0-alpha05 yayınlanır. 1.6.0-alpha05 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Bir yumuşatma eğrisine keyfi bir yol sağlanmasını sağlamak için PathEasing eklendi. (Idb4b9)

Sürüm 1.6.0-alpha04

23 Ağustos 2023

androidx.compose.animation:animation-*:1.6.0-alpha04 yayınlanır. 1.6.0-alpha04 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Geliştiricilerin geçişin ilerleme durumunu kontrol etmesine izin vermek için SeekableTransitionState ekleyin. (I8e69d)

Sürüm 1.6.0-alpha03

9 Ağustos 2023

androidx.compose.animation:animation-*:1.6.0-alpha03 yayınlanır. 1.6.0-alpha03 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Giriş ve çıkış animasyonu sırasında içeriği animasyonlu kapsayıcının boyutuna göre ölçeklendiren yeni giriş/çıkış geçişi türü. LookaheadScope Kompozit eğlence ve arayüz artık kararlı. (Ifb2ce)

Sürüm 1.6.0-alpha02

26 Temmuz 2023

androidx.compose.animation:animation-*:1.6.0-alpha02 yayınlanır. 1.6.0-alpha02 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Hem giriş hem de çıkış geçişi tamamlanana kadar giden içeriği AnimatedContent'te göstermek için yeni ExitTransition.Hold. (I5984f)
  • Birleştirilebilir öğelere izin verilen girişleri belirtmek için ek ek açıklamalar (I51109)

Sürüm 1.6.0-alpha01

21 Haziran 2023

androidx.compose.animation:animation-*:1.6.0-alpha01 yayınlanır. 1.6.0-alpha01 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Hedef boyutu önizleme geçişinde raporlayarak Modifier.animateContentSize ve AnimatedVisibility'ün önizleme sistemine tam olarak entegre edilmesini sağlayın.

API Değişiklikleri

  • Geçerli ölçüm geçişinin ileriye dönük bir geçiş olup olmadığını belirtmek için IntrinsincMeasureScope ve uygulamalarında (ör. MeasureScope) yeni mülk. (I7a812)

Hata Düzeltmeleri

  • Bahar animasyonlarından ayrılanlar kaldırıldı. (Ie9431)
  • Enum.valueOf işlevinin value parametre adı değişti (Ia9b89)
  • enum valueOf (I818fe) tarafından daha fazla istisna atıldı

Sürüm 1.5

Sürüm 1.5.4

18 Ekim 2023

androidx.compose.animation:animation-*:1.5.4 yayınlanır. 1.5.4 sürümü bu taahhütleri içerir.

Sürüm 1.5.3

4 Ekim 2023

androidx.compose.animation:animation-*:1.5.3 yayınlanır. Bu sürümde değişiklik yok

Sürüm 1.5.2

27 Eylül 2023

androidx.compose.animation:animation-*:1.5.2 yayınlanır. 1.5.2 sürümü bu taahhütleri içerir.

Sürüm 1.5.1

6 Eylül 2023

androidx.compose.foundation:foundation-*:1.5.1 yayınlanır. 1.5.1 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • readOnly doğru olduğunda klavyeyi gösteren ve düzenlenebilir olan metin alanları düzeltildi. Ayrıca, readOnly odaklanırken true değerinden false değerine değiştirildiğinde klavyenin gösterilmemesi sorunu da düzeltildi. (I34a19, b/246909589)

Sürüm 1.5.1

6 Eylül 2023

androidx.compose.animation:animation-*:1.5.1 yayınlanır. 1.5.1 sürümü bu taahhütleri içerir.

1.5.0 sürümü

9 Ağustos 2023

androidx.compose.animation:animation-*:1.5.0 yayınlanır. 1.5.0 sürümü bu taahhütleri içerir.

Sürüm 1.5.0-rc01

26 Temmuz 2023

androidx.compose.animation:animation-*:1.5.0-rc01 yayınlanır. 1.5.0-rc01 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Basit bir durum türü (MutableIntState gibi) üzerinde .value çağrısının, geçersiz bir düzeltme içeren bir lint uyarısı bildirmesine neden olan sorun düzeltildi. İnceleme, doğru mülke taşınmanızı önerir. (Iba953, b/287279257)

  • mutableStateOf() çağrılarının, ilkellere karşılık gelen özel türlerine taşınmasını önermek için isteğe bağlı bir denetim mevcuttur. Dil bilgisi denetimi kimliği AutoboxingStateCreation. Daha önce bu inceleme tüm projeler için varsayılan olarak etkinleştiriliyordu. Bu uyarıyı Android Studio'nun düzenleyicide ve projenizin lint çıkışlarında görmek için önem derecesini bilgilendiriciden uyarıya (veya daha yüksek bir değere) değiştirmek üzere modülünüzün build.gradle veya build.gradle.kts yapılandırmasında gösterildiği gibi warning "AutoboxingStateCreation" değerini belirtin (I34f7e):

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

Sürüm 1.5.0-beta03

28 Haziran 2023

androidx.compose.animation:animation-*:1.5.0-beta03 yayınlanır. 1.5.0-beta03 sürümü bu taahhütleri içerir.

Sürüm 1.5.0-beta02

7 Haziran 2023

androidx.compose.animation:animation-*:1.5.0-beta02 yayınlanır. 1.5.0-beta02 sürümü bu taahhütleri içerir.

Sürüm 1.5.0-beta01

24 Mayıs 2023

androidx.compose.animation:animation-*:1.5.0-beta01 yayınlanır. 1.5.0-beta01 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Yeniden oluşturma, renk animasyonlarında ve AndroidComposeView (Ib2bfa) öğesinde ayrıştırmalar kaldırıldı

Hata Düzeltmeleri

  • Bahar animasyonlarından ayrılan kaynaklar kaldırıldı (Ie9431)

Sürüm 1.5.0-alpha04

10 Mayıs 2023

androidx.compose.animation:animation-*:1.5.0-alpha04 yayınlanır. 1.5.0-alpha04 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Geçişin ne zaman gerçekleşeceği konusunda daha fazla kontrol sahibi olabilmeniz için ContentKey artık AnimatedContent'te destekleniyor. (Ic069b)

Sürüm 1.5.0-alpha03

19 Nisan 2023

androidx.compose.animation:animation-*:1.5.0-alpha03 yayınlanır. 1.5.0-alpha03 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • LookaheadScope'ta SubcomposeLayout için yeni varsayılan davranış. Koşullu alanı olmayan SubcomposeLayouts'lerin (ör.TabRow, Scaffold, BoxWithConstraints vb.) ileriye dönük animasyonlarla sorunsuz şekilde çalışmasını sağlar.

API Değişiklikleri

  • Önizleme geçişindeki ölçüm politikasını yeniden kullanan yeni varsayılan intermediateMeasurePolicy, Scaffold, TabRow ve BoxWithConstraints gibi koşullu yuvaları olmayan SubcomposeLayout alt türlerinin varsayılan olarak önizlemeyle çalışmasını sağlar. (Id84c8)
  • Giriş ve çıkış geçişlerini birleştirmek için infix fun with ifadesini togetherWith olarak yeniden adlandırın. İçerik lambdası için alıcı olarak yeni AnimatedContentScope. (Ic39ae)

Sürüm 1.5.0-alpha02

5 Nisan 2023

androidx.compose.animation:animation-*:1.5.0-alpha02 yayınlanır. 1.5.0-alpha02 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • SubcomposeLayout'te ileriye dönük aramayı destekleyen yeni deneysel API. Bu, SubcomposeLayout'ün LookaheadScope'te düzgün çalışmasına olanak tanır. SubcomposeLayout'ün belirli alt türleri için hazır destek yakında kullanıma sunulacaktır.

API Değişiklikleri

  • Önizlemeye dayalı animasyonlar sırasında ölçüm/düzenleme mantığını işlemek için ek bir ara ölçüm politikası kullanan yeni SubcomposeLayout API. (I017d3)

Sürüm 1.5.0-alpha01

22 Mart 2023

androidx.compose.animation:animation-*:1.5.0-alpha01 yayınlanır. 1.5.0-alpha01 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • AnimatedContent API'leri artık kararlı AnimatedContentScope, AnimatedContentTransitionScope olarak yeniden adlandırıldı. scaleIn ve scaleOut artık kararlı API'lerdir. (Iaf54e)

Sürüm 1.4

Sürüm 1.4.3

3 Mayıs 2023

androidx.compose.animation:animation:1.4.3, androidx.compose.animation:animation-core:1.4.3 ve androidx.compose.animation:animation-graphics:1.4.3, değişiklik içermeden (yalnızca sürüm yükseltmesi) yayınlanır.

1.4.2 sürümü

19 Nisan 2023

androidx.compose.animation:animation:1.4.2, androidx.compose.animation:animation-core:1.4.2 ve androidx.compose.animation:animation-graphics:1.4.2, herhangi bir değişiklik yapılmadan yayınlanır. 1.4.2 sürümü bu taahhütleri içerir.

Sürüm 1.4.1

5 Nisan 2023

androidx.compose.animation:animation:1.4.1, androidx.compose.animation:animation-core:1.4.1 ve androidx.compose.animation:animation-graphics:1.4.1, herhangi bir değişiklik yapılmadan yayınlanır. 1.4.1 sürümü bu taahhütleri içerir.

1.4.0 sürümü

22 Mart 2023

androidx.compose.animation:animation:1.4.0, androidx.compose.animation:animation-core:1.4.0 ve androidx.compose.animation:animation-graphics:1.4.0 yayınlandı. 1.4.0 sürümü bu taahhütleri içerir.

1.3.0 sürümünden bu yana yapılan önemli değişiklikler

  • Araç etiketi, rememberInfiniteTransition ve InfiniteTransition ile Geçiş'teki (ör. InfiniteTransition#animateColor) tüm uzantı işlevlerinde desteklenir (I56ef7)

Sürüm 1.4.0-rc01

8 Mart 2023

androidx.compose.animation:animation:1.4.0-rc01, androidx.compose.animation:animation-core:1.4.0-rc01 ve androidx.compose.animation:animation-graphics:1.4.0-rc01, herhangi bir değişiklik yapılmadan yayınlanır. 1.4.0-rc01 sürümü bu taahhütleri içerir.

Sürüm 1.4.0-beta02

22 Şubat 2023

androidx.compose.animation:animation:1.4.0-beta02, androidx.compose.animation:animation-core:1.4.0-beta02 ve androidx.compose.animation:animation-graphics:1.4.0-beta02, herhangi bir değişiklik yapılmadan yayınlanır. 1.4.0-beta02 sürümü bu taahhütleri içerir.

Sürüm 1.4.0-beta01

8 Şubat 2023

androidx.compose.animation:animation:1.4.0-beta01, androidx.compose.animation:animation-core:1.4.0-beta01 ve androidx.compose.animation:animation-graphics:1.4.0-beta01, herhangi bir değişiklik yapılmadan yayınlanır. 1.4.0-beta01 sürümü bu taahhütleri içerir.

Sürüm 1.4.0-alpha05

25 Ocak 2023

androidx.compose.animation:animation:1.4.0-alpha05, androidx.compose.animation:animation-core:1.4.0-alpha05 ve androidx.compose.animation:animation-graphics:1.4.0-alpha05 yayınlandı. 1.4.0-alpha05 sürümü bu taahhütleri içerir.

Değişiklik

  • Son alfa sürümden bu yana animasyon kitaplıklarında değişiklik yok, yalnızca sürüm yükseltmesi yapıldı

Sürüm 1.4.0-alpha04

11 Ocak 2023

androidx.compose.animation:animation:1.4.0-alpha04, androidx.compose.animation:animation-core:1.4.0-alpha04 ve androidx.compose.animation:animation-graphics:1.4.0-alpha04 yayınlandı. 1.4.0-alpha04 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Araç etiketi, rememberInfiniteTransition ve InfiniteTransition ile Transition'deki tüm uzantı işlevlerinde (ör. InfiniteTransition#animateColor) desteklenir (I56ef7)

API Değişiklikleri

  • InfiniteTransition#TransitionAnimationState ve InfiniteTransition#animations API'leri artık herkese açık. (I36682)

Sürüm 1.4.0-alpha03

7 Aralık 2022

androidx.compose.animation:animation:1.4.0-alpha03, androidx.compose.animation:animation-core:1.4.0-alpha03 ve androidx.compose.animation:animation-graphics:1.4.0-alpha03 yayınlandı. 1.4.0-alpha03 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Bir Oluşturma kuralı kullanan kullanıcı arayüzü testlerinde, withFrameNanos geri çağırmaları sırasında devam ettirilen devam ettirmeler, tüm çerçeve geri çağırmaları çalıştırılana kadar dağıtılmaz. Bu, normal şekilde çalışırken Oluştur'un davranışıyla aynıdır. Ancak eski davranışa dayanan testler başarısız olabilir. Bu durum yalnızca withFrameNanos veya withFrameMillis'ı doğrudan çağıran ve bu işlevlere iletilen, geri çağırma dışında mantığa sahip olan ve geri çağırma işlevlerinin içine taşınması gerekebilecek kodları etkileyecektir. Animasyon testi değişikliklerine örnek olarak bu CL'de göz atın.
  • withFrameNanos geri çağırmalarından sonra ancak arayanların iş parçacıklarını devam ettirmeden önce kodu çalıştırmak için TestMonotonicFrameClock oluşturucuya ve fabrika işlevine isteğe bağlı onPerformTraversals: (Long) -> Unit parametresi eklendi. (Idb413, b/254115946, b/222093277, b/255802670)
  • Araç etiketi için AnimatedContent içinde yeni parametre (Iebe2d)

Sürüm 1.4.0-alpha02

9 Kasım 2022

androidx.compose.animation:animation:1.4.0-alpha02, androidx.compose.animation:animation-core:1.4.0-alpha02 ve androidx.compose.animation:animation-graphics:1.4.0-alpha02 yayınlandı. 1.4.0-alpha02 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Araçların Composable'ın dahili durumlarını değiştirmesine izin vermek için ToolingState ekleyin (Ie6614)

Sürüm 1.4.0-alpha01

24 Ekim 2022

androidx.compose.animation:animation:1.4.0-alpha01, androidx.compose.animation:animation-core:1.4.0-alpha01 ve androidx.compose.animation:animation-graphics:1.4.0-alpha01 yayınlandı. 1.4.0-alpha01 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • AnimatedContent'te yanlış kesinti animasyonunu düzeltme (b/238662479)

Sürüm 1.3

Sürüm 1.3.3

11 Ocak 2023

androidx.compose.animation:animation:1.3.3, androidx.compose.animation:animation-core:1.3.3 ve androidx.compose.animation:animation-graphics:1.3.3 yayınlandı. 1.3.3 sürümü bu taahhütleri içerir.

  • 1.3.2 sürümünden bu yana değişiklik yapılmamıştır.

1.3.2 sürümü

7 Aralık 2022

androidx.compose.animation:animation:1.3.2, androidx.compose.animation:animation-core:1.3.2 ve androidx.compose.animation:animation-graphics:1.3.2 yayınlandı. 1.3.2 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • androidx.compose.ui 1.3.2'yi desteklemek için güncellendi

1.3.1 sürümü

9 Kasım 2022

androidx.compose.animation:animation:1.3.1, androidx.compose.animation:animation-core:1.3.1 ve androidx.compose.animation:animation-graphics:1.3.1 yayınlandı. 1.3.1 sürümü bu taahhütleri içerir.

1.3.0 sürümü

24 Ekim 2022

androidx.compose.animation:animation:1.3.0, androidx.compose.animation:animation-core:1.3.0 ve androidx.compose.animation:animation-graphics:1.3.0 yayınlandı. 1.3.0 sürümü bu taahhütleri içerir.

1.2.0 sürümünden beri yapılan önemli değişiklikler

  • Yeni bir yumuşatma işlevi grubu kararlı hale getirildi

Sürüm 1.3.0-rc01

5 Ekim 2022

androidx.compose.animation:animation:1.3.0-rc01, androidx.compose.animation:animation-core:1.3.0-rc01 ve androidx.compose.animation:animation-graphics:1.3.0-rc01 yayınlandı. 1.3.0-rc01 sürümü bu taahhütleri içerir.

Sürüm 1.3.0-beta03

21 Eylül 2022

androidx.compose.animation:animation:1.3.0-beta03, androidx.compose.animation:animation-core:1.3.0-beta03 ve androidx.compose.animation:animation-graphics:1.3.0-beta03 yayınlandı. 1.3.0-beta03 sürümü bu taahhütleri içerir.

  • 1.3.0-beta02 sürümünden bu yana değişiklik yapılmamıştır.

Sürüm 1.3.0-beta02

7 Eylül 2022

androidx.compose.animation:animation:1.3.0-beta02, androidx.compose.animation:animation-core:1.3.0-beta02 ve androidx.compose.animation:animation-graphics:1.3.0-beta02 yayınlandı. 1.3.0-beta02 sürümü bu taahhütleri içerir.

  • Desteği sonlandırıldığı için Kotlin.experimental derleyici seçeneklerinden kaldırıldı

Sürüm 1.3.0-beta01

24 Ağustos 2022

androidx.compose.animation:animation:1.3.0-beta01, androidx.compose.animation:animation-core:1.3.0-beta01 ve androidx.compose.animation:animation-graphics:1.3.0-beta01 yayınlandı. 1.3.0-beta01 sürümü bu taahhütleri içerir.

Sürüm 1.3.0-alpha03

10 Ağustos 2022

androidx.compose.animation:animation:1.3.0-alpha03, androidx.compose.animation:animation-core:1.3.0-alpha03 ve androidx.compose.animation:animation-graphics:1.3.0-alpha03 yayınlandı. 1.3.0-alpha03 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Araç etiketi için Crossfade, animateAsState ve Animatable'de yeni parametre (Iac08a)
  • Animasyon karelerini belirli bir süre yerine bir kesir olarak tanımlamak için atFraction işlevi eklendi. (I20c76, b/232059455)

Sürüm 1.3.0-alpha02

27 Temmuz 2022

androidx.compose.animation:animation:1.3.0-alpha02, androidx.compose.animation:animation-core:1.3.0-alpha02 ve androidx.compose.animation:animation-graphics:1.3.0-alpha02 yayınlandı. 1.3.0-alpha02 sürümü bu taahhütleri içerir.

Sürüm 1.3.0-alpha01

29 Haziran 2022

androidx.compose.animation:animation:1.3.0-alpha01, androidx.compose.animation:animation-core:1.3.0-alpha01 ve androidx.compose.animation:animation-graphics:1.3.0-alpha01 yayınlandı. 1.3.0-alpha01 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Gerçek ölçüm/düzenlemeden önce bir ileriye dönük geçişi destekleyen yeni LookaheadLayout. Bu sayede, değiştiğinde düzenin önceden hesaplanması sağlanırken, önizleme sonrası ölçüm/düzen, boyutu ve konumları hedefe doğru animasyonlu olarak hareket ettirmek için önceden hesaplanmış boyutu/konumu kullanabilir. SubcomposeLayouts henüz desteklenmemektedir ancak gelecekteki bir sürümde desteklenecektir. (I477f5)

Sürüm 1.2

Sürüm 1.2.1

10 Ağustos 2022

androidx.compose.animation:animation:1.2.1, androidx.compose.animation:animation-core:1.2.1 ve androidx.compose.animation:animation-graphics:1.2.1 yayınlandı. 1.2.1 sürümü bu taahhütleri içerir.

Sürüm 1.2.0

27 Temmuz 2022

androidx.compose.animation:animation:1.2.0, androidx.compose.animation:animation-core:1.2.0 ve androidx.compose.animation:animation-graphics:1.2.0 yayınlandı. 1.2.0 sürümü bu taahhütleri içerir.

1.1.0 sürümünden bu yana yapılan önemli değişiklikler

  • Animasyon oluşturma özelliği artık Geliştirici Seçenekleri'ndeki "Animatör süre ölçeği" ayarını destekliyor.
  • Deneysel yeni eğim eğrileri geniş bir seçkisine sahiptir.
  • AnimatedImageVector artık repeatCount ve repeatMode'yi destekliyor

Sürüm 1.2.0-rc03

29 Haziran 2022

androidx.compose.animation:animation:1.2.0-rc03, androidx.compose.animation:animation-core:1.2.0-rc03 ve androidx.compose.animation:animation-graphics:1.2.0-rc03 yayınlandı. 1.2.0-rc03 sürümü bu taahhütleri içerir.

  • 1.2.0-rc02 sürümünden bu yana değişiklik yok.

Sürüm 1.2.0-rc02

22 Haziran 2022

androidx.compose.animation:animation:1.2.0-rc02, androidx.compose.animation:animation-core:1.2.0-rc02 ve androidx.compose.animation:animation-graphics:1.2.0-rc02 yayınlandı. 1.2.0-rc02 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Easing işlevlerinde ExperimentalEasingApi ek açıklaması kaldırıldı (Ied441)

Sürüm 1.2.0-rc01

15 Haziran 2022

androidx.compose.animation:animation:1.2.0-rc01, androidx.compose.animation:animation-core:1.2.0-rc01 ve androidx.compose.animation:animation-graphics:1.2.0-rc01 yayınlandı. 1.2.0-rc01 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Oluşturma kitaplarındaki arayüzler artık jdk8 varsayılan arayüz yöntemleri (I5bcf1) kullanılarak oluşturuluyor

Sürüm 1.2.0-beta03

1 Haziran 2022

androidx.compose.animation:animation:1.2.0-beta03, androidx.compose.animation:animation-core:1.2.0-beta03 ve androidx.compose.animation:animation-graphics:1.2.0-beta03 yayınlandı. 1.2.0-beta03 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Animasyonlar için deneysel yumuşatma eğrileri eklendi (I64a38)

Sürüm 1.2.0-beta02

18 Mayıs 2022

androidx.compose.animation:animation:1.2.0-beta02, androidx.compose.animation:animation-core:1.2.0-beta02 ve androidx.compose.animation:animation-graphics:1.2.0-beta02 yayınlandı. 1.2.0-beta02 sürümü bu taahhütleri içerir.

Sürüm 1.2.0-beta01

11 Mayıs 2022

androidx.compose.animation:animation:1.2.0-beta01, androidx.compose.animation:animation-core:1.2.0-beta01 ve androidx.compose.animation:animation-graphics:1.2.0-beta01 yayınlandı. 1.2.0-beta01 sürümü bu taahhütleri içerir.

  • Bu, 1.2 sürümünün ilk beta sürümüdür. Son alfa sürümden bu yana değişiklik yok.

Sürüm 1.2.0-alpha08

20 Nisan 2022

androidx.compose.animation:animation:1.2.0-alpha08, androidx.compose.animation:animation-core:1.2.0-alpha08 ve androidx.compose.animation:animation-graphics:1.2.0-alpha08 yayınlandı. 1.2.0-alpha08 sürümü bu taahhütleri içerir.

Sürüm 1.2.0-alpha07

6 Nisan 2022

androidx.compose.animation:animation:1.2.0-alpha07, androidx.compose.animation:animation-core:1.2.0-alpha07 ve androidx.compose.animation:animation-graphics:1.2.0-alpha07 yayınlandı. 1.2.0-alpha07 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • AnimatedImageVector artık repeatCount ve repeatMode'yi (Ia3e75, b/199304067) destekliyor

Sürüm 1.2.0-alpha06

23 Mart 2022

androidx.compose.animation:animation:1.2.0-alpha06, androidx.compose.animation:animation-core:1.2.0-alpha06 ve androidx.compose.animation:animation-graphics:1.2.0-alpha06 yayınlandı. 1.2.0-alpha06 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Mevcut düzen yönü RTL ise VectorPainter içeriğini çevirmek için otomatik yansıtmayı desteklemek üzere vektör çizilebilir öğelerin ayrıştırması güncellendi. (I79cd9, b/185760237)

Hata Düzeltmeleri

  • Vektör grafik API'leri, @UiComposable yerine uygun birleştirilebilir ek açıklama @VectorComposable kullanacak şekilde güncellendi (I942bc)

Sürüm 1.2.0-alpha05

9 Mart 2022

androidx.compose.animation:animation:1.2.0-alpha05, androidx.compose.animation:animation-core:1.2.0-alpha05 ve androidx.compose.animation:animation-graphics:1.2.0-alpha05 yayınlandı. 1.2.0-alpha05 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Yaşasın! Oluşturma animasyonu artık Geliştirici Seçenekleri'ndeki "Animatör süre ölçeği" ayarını destekliyor. (I5a4fc, b/161675988)

Sürüm 1.2.0-alpha04

23 Şubat 2022

androidx.compose.animation:animation:1.2.0-alpha04, androidx.compose.animation:animation-core:1.2.0-alpha04 ve androidx.compose.animation:animation-graphics:1.2.0-alpha04 yayınlandı. 1.2.0-alpha04 sürümü bu taahhütleri içerir.

Sürüm 1.2.0-alpha03

9 Şubat 2022

androidx.compose.animation:animation:1.2.0-alpha03, androidx.compose.animation:animation-core:1.2.0-alpha03 ve androidx.compose.animation:animation-graphics:1.2.0-alpha03 yayınlandı. 1.2.0-alpha03 sürümü bu taahhütleri içerir.

Sürüm 1.2.0-alpha02

26 Ocak 2022

androidx.compose.animation:animation:1.2.0-alpha02, androidx.compose.animation:animation-core:1.2.0-alpha02 ve androidx.compose.animation:animation-graphics:1.2.0-alpha02 yayınlandı. 1.2.0-alpha02 sürümü bu taahhütleri içerir.

Sürüm 1.2.0-alpha01

12 Ocak 2022

androidx.compose.animation:animation:1.2.0-alpha01, androidx.compose.animation:animation-core:1.2.0-alpha01 ve androidx.compose.animation:animation-graphics:1.2.0-alpha01 yayınlandı. 1.2.0-alpha01 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • <animated-vector> kaynak dosyası yüklemek için animatedVectorResource yerine AnimatedImageVector.animatedVectorResource kullanın.
    • AnimatedImageVector oluşturmak için AnimatedImageVector#painterFor yerine rememberAnimatedVectorResource kullanın. (I9c300)

Hata Düzeltmeleri

  • Animatable ve AnimationResult sınıflarına toString yöntemleri eklendi. (Icd3a6)

Bağımlılık Güncellemeleri

  • Artık Kotlin 1.6.10 sürümüne bağlıdır.

Sürüm 1.1

1.1.1 sürümü

23 Şubat 2022

androidx.compose.animation:animation:1.1.1, androidx.compose.animation:animation-core:1.1.1 ve androidx.compose.animation:animation-graphics:1.1.1 yayınlandı. 1.1.1 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

Sürüm 1.1.0

9 Şubat 2022

androidx.compose.animation:animation:1.1.0, androidx.compose.animation:animation-core:1.1.0 ve androidx.compose.animation:animation-graphics:1.1.0 yayınlandı. 1.1.0 sürümü bu taahhütleri içerir.

1.0.0 sürümünden bu yana yapılan önemli değişiklikler

  • Android 12 aşırı kaydırma efekti için kararlı destek
  • Dokunma hedefi boyutlandırmasında iyileştirmeler
  • Compose 1.0 ile ilgili olarak, Materyal bileşenlerinin dokunma hedefi boyutu için Materyal erişilebilirlik yönergelerini karşılamak üzere düzen alanlarını genişleteceğini unutmayın. Örneğin, düğmenin boyutunu daha küçük olarak ayarlasanız bile düğme dokunma hedefi minimum 48x48 dp boyutuna genişler. Bu sayede, Görünümler ve Oluştur'u birlikte kullandığınızda tutarlı bir davranış elde edersiniz. Bu değişiklik, kullanıcı arayüzünüzü Compose Material bileşenlerini kullanarak oluşturduğunuzda dokunma hedefi erişilebilirliğiyle ilgili minimum şartların karşılanmasını da sağlar.
  • Gezinme çubuğu için kararlı destek
  • Daha önce deneysel olan bazı API'leri kararlı sürüme geçiriyor
  • Kotlin'in daha yeni sürümleri için destek

Sürüm 1.1.0-rc03

26 Ocak 2022

androidx.compose.animation:animation:1.1.0-rc03, androidx.compose.animation:animation-core:1.1.0-rc03 ve androidx.compose.animation:animation-graphics:1.1.0-rc03 yayınlandı. 1.1.0-rc03 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Compose Material 1.1.0-rc03'ü desteklemek için güncellendi

Sürüm 1.1.0-rc01

15 Aralık 2021

androidx.compose.animation:animation:1.1.0-rc01 ve androidx.compose.animation:animation-core:1.1.0-rc01 yayınlandı. 1.1.0-rc01 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • <animated-vector> kaynak dosyası yüklemek için animatedVectorResource yerine AnimatedImageVector.animatedVectorResource kullanın.
    • AnimatedImageVector oluşturmak için AnimatedImageVector#painterFor yerine rememberAnimatedVectorResource kullanın. (I9c300)

Sürüm 1.1.0-beta04

1 Aralık 2021

androidx.compose.animation:animation:1.1.0-beta04, androidx.compose.animation:animation-core:1.1.0-beta04 ve androidx.compose.animation:animation-graphics:1.1.0-beta04 yayınlandı. 1.1.0-beta04 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Kotlin 1.6.0 ile uyumlu olacak şekilde güncellendi

Sürüm 1.1.0-beta03

17 Kasım 2021

androidx.compose.animation:animation:1.1.0-beta03, androidx.compose.animation:animation-core:1.1.0-beta03 ve androidx.compose.animation:animation-graphics:1.1.0-beta03 yayınlandı. 1.1.0-beta03 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Yerleşim değişikliğinin gözlemlenmesine izin vermek için yeni değiştirici Modifier.onPlaced eklendi. Bu nedenle, gözlemlenen yerleşim değişikliğine göre alt değiştiricinin ofsetinde ek değişiklikler yapılabilir. (I558fd)
  • Geçişlerde contentKey için yeni destek. ContentKey, animasyon sistemi tarafından eşitlik kontrolü için kullanılır. Bu nedenle, farklı eyaletler için uygun contentKey belirtilerek eyaletlerde özel karşılaştırma yapılabilir.

    ContentKey, içerik kaydetme ve geri yükleme anahtarı olarak da kullanılır. (I2e055, b/197907070)

Sürüm 1.1.0-beta02

3 Kasım 2021

androidx.compose.animation:animation:1.1.0-beta02, androidx.compose.animation:animation-core:1.1.0-beta02 ve androidx.compose.animation:animation-graphics:1.1.0-beta02 yayınlandı. 1.1.0-beta02 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Araç desteği için yeni animasyon API'leri. Özellikle, geçişlerdeki animasyonlar ve yapılandırmalarının araç tarafından incelenmesine olanak tanır. (I4116e)

Sürüm 1.1.0-beta01

27 Ekim 2021

androidx.compose.animation:animation:1.1.0-beta01, androidx.compose.animation:animation-core:1.1.0-beta01 ve androidx.compose.animation:animation-graphics:1.1.0-beta01 yayınlandı. 1.1.0-beta01 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Araç desteği için yeni animasyon API'leri. Özellikle, geçişlerdeki animasyonlar ve yapılandırmalarının araç tarafından incelenmesine olanak tanır. (I4116e)

Sürüm 1.1.0-alpha06

13 Ekim 2021

androidx.compose.animation:animation:1.1.0-alpha06, androidx.compose.animation:animation-core:1.1.0-alpha06 ve androidx.compose.animation:animation-graphics:1.1.0-alpha06 yayınlandı. 1.1.0-alpha06 sürümü bu taahhütleri içerir.

Sürüm 1.1.0-alpha05

29 Eylül 2021

androidx.compose.animation:animation:1.1.0-alpha05, androidx.compose.animation:animation-core:1.1.0-alpha05 ve androidx.compose.animation:animation-graphics:1.1.0-alpha05 yayınlandı. 1.1.0-alpha05 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • EnterTransition, ExitTransition ve AnimatedVisibility API'lerinin bazıları kararlı hale getirildi. MutableTransitionState.isIdle de artık deneme aşamasında değil. (I5072d)

  • Kırılma değişikliği: Enter/ExitTransition fabrikalarındaki lambdalar, parametre listesindeki son konuma taşındı. (I5072d)

Sürüm 1.1.0-alpha04

15 Eylül 2021

androidx.compose.animation:animation:1.1.0-alpha04, androidx.compose.animation:animation-core:1.1.0-alpha04 ve androidx.compose.animation:animation-graphics:1.1.0-alpha04 yayınlandı. 1.1.0-alpha04 sürümü bu taahhütleri içerir.

Sürüm 1.1.0-alpha03

1 Eylül 2021

androidx.compose.animation:animation:1.1.0-alpha03, androidx.compose.animation:animation-core:1.1.0-alpha03 ve androidx.compose.animation:animation-graphics:1.1.0-alpha03 yayınlandı. 1.1.0-alpha03 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • 1.1.0-alpha03 derleyicisi, Kotlin 1.5.30'e bağlı olacak şekilde güncellendi. (I74545)

Sürüm 1.1.0-alpha02

18 Ağustos 2021

androidx.compose.animation:animation:1.1.0-alpha02, androidx.compose.animation:animation-core:1.1.0-alpha02 ve androidx.compose.animation:animation-graphics:1.1.0-alpha02 yayınlandı. 1.1.0-alpha02 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • StartOffset, başlangıç zamanını geciktirmek veya animasyon başlamadan önce animasyonu hızlıca ileri sarmak için artık repeatable ve infiniteRepeatable parametrelerinde desteklenmektedir. Bu başlangıç ofseti tekrarlanmayacak (Ic679f, b/195079908)
  • Ölçek için yeni Giriş/Çıkış geçişi. Diğer Giriş/Çıkış Geçişleri türleriyle birlikte kullanılabilir. (I372da, b/191325593)

Sürüm 1.1.0-alpha01

4 Ağustos 2021

androidx.compose.animation:animation:1.1.0-alpha01, androidx.compose.animation:animation-core:1.1.0-alpha01 ve androidx.compose.animation:animation-graphics:1.1.0-alpha01 yayınlandı. 1.1.0-alpha01 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • AnimatedImageVector ve ilgili API'ler artık yeni androidx.compose.animation:animation-graphics modülündedir. (I60873)

Hata Düzeltmeleri

Sürüm 1.0

Sürüm 1.0.5

3 Kasım 2021

androidx.compose.animation:animation:1.0.5 ve androidx.compose.animation:animation-core:1.0.5 yayınlandı. 1.0.5 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • derivedStateOf örneklerini izlemeyle ilgili bir kilitlenme düzeltildi. (aosp/1792247)

Sürüm 1.0.4

13 Ekim 2021

androidx.compose.animation:animation:1.0.4 ve androidx.compose.animation:animation-core:1.0.4 yayınlandı. 1.0.4 sürümü bu taahhütleri içerir.

Bağımlılık Güncellemeleri

  • Kotlin 1.5.31'e bağlı olacak şekilde güncellendi

Sürüm 1.0.3

29 Eylül 2021

androidx.compose.animation:animation:1.0.3 ve androidx.compose.animation:animation-core:1.0.3 yayınlandı. 1.0.3 sürümü bu taahhütleri içerir.

Bağımlılık Güncellemeleri

  • Kotlin 1.5.30'e bağlı olacak şekilde güncellendi

Sürüm 1.0.2

1 Eylül 2021

androidx.compose.animation:animation:1.0.2 ve androidx.compose.animation:animation-core:1.0.2 yayınlandı. 1.0.2 sürümü bu taahhütleri içerir.

Oluştur 1.0.2 sürümünü desteklemek için güncellendi. Compose 1.0.2, Kotlin 1.5.21 ile uyumludur.

1.0.1 sürümü

4 Ağustos 2021

androidx.compose.animation:animation:1.0.1 ve androidx.compose.animation:animation-core:1.0.1 yayınlandı. 1.0.1 sürümü bu taahhütleri içerir.

Bağımlılık Güncellemeleri

  • Kotlin 1.5.21'e bağlı olacak şekilde güncellendi.

Sürüm 1.0.0

28 Temmuz 2021

androidx.compose.animation:animation:1.0.0 ve androidx.compose.animation:animation-core:1.0.0 yayınlandı. 1.0.0 sürümü bu taahhütleri içerir.

1.0.0 sürümünün önemli özellikleri

Bu, Compose'un ilk kararlı sürümüdür. Daha fazla bilgi için lütfen resmi Compose sürüm bloguna göz atın.

Bilinen Sorunlar

  • Android Studio Bumblebee Canary 4 veya AGP 7.1.0-alpha04/7.1.0-alpha05 kullanıyorsanız aşağıdaki kilitlenmeyi görebilirsiniz:

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

    Bu sorunu düzeltmek için build.gradle dosyanızdaki minSdkVersion değerini geçici olarak 24 veya daha yüksek bir değere ayarlayın. Bu sorun, Android Studio Bumblebee ve AGP'nin sonraki sürümünde 7.1 düzeltilecektir. (b/194289155)

Sürüm 1.0.0-rc02

14 Temmuz 2021

androidx.compose.animation:animation:1.0.0-rc02 ve androidx.compose.animation:animation-core:1.0.0-rc02 yayınlandı. 1.0.0-rc02 sürümü bu taahhütleri içerir.

Sürüm 1.0.0-rc01

1 Temmuz 2021

androidx.compose.animation:animation:1.0.0-rc01 ve androidx.compose.animation:animation-core:1.0.0-rc01 yayınlandı. 1.0.0-rc01 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

Sürüm 1.0.0-beta09

16 Haziran 2021

androidx.compose.animation:animation:1.0.0-beta09 ve androidx.compose.animation:animation-core:1.0.0-beta09 yayınlandı. 1.0.0-beta09 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Yeni AnimatedContent Composable. Yeni hedef içerik eklenip ilk içerik ayrılırken özelleştirilebilir ContentTransform kullanarak içerik değişikliğini yönetir. Özel bir görünüm ve his oluşturmak için giriş ve çıkış geçişlerinin farklı kombinasyonları kullanılabilir. İçerik dönüştürme işleminin bir parçası olarak AnimatedContent, gelen içeriğe uyacak şekilde boyutunu otomatik olarak animasyonlu olarak değiştirir. (I2c3df)
  • ManualFrameClock kaldırıldı. Animasyonları kontrol etmeniz gerekiyorsa bunun yerine composeTestRule.mainClock seçeneğini kullanın. (I3c3e8, b/189951065)

Profil Kuralları eklendi

Bu sürüm, aşağıdaki oluşturma modüllerine (I14ed6) profil kuralları ekler:

  • 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

Profil kuralları nedir?

  • Bir kitaplığın profil kuralları, src/main veya eşdeğer dizinde bulunan baseline-prof.txt metin dosyasında belirtilir. Dosyada satır başına bir kural belirtilir. Bu durumda kural, kitaplıktaki yöntemler veya sınıflarla eşleştirme için kullanılan bir kalıptır. Bu kuralların söz dizimi, adb shell profman --dump-classes-and-methods ... kullanılırken kullanılan, okunabilir ART profil biçiminin bir üst kümesidir. Bu kurallar, yöntemleri veya sınıfları hedeflemek için iki biçimden birini alır.

  • Yöntem kuralları aşağıdaki kalıba sahiptir:

    <FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
    
  • Sınıf kuralları ise aşağıdaki kalıba sahiptir:

    <CLASS_DESCRIPTOR>
    
  • Burada <FLAGS>, bu yöntemin "Popüler", "Başlangıç" veya "Başlangıç Sonrası" olarak işaretlenip işaretlenmeyeceğini belirtmek için H, S ve P karakterlerinden biri veya daha fazlasıdır.

  • <CLASS_DESCRIPTOR>, hedeflenen yöntemin ait olduğu sınıfın tanımlayıcısıdır. Örneğin, androidx.compose.runtime.SlotTable sınıfının tanımlayıcı değeri Landroidx/compose/runtime/SlotTable; olur.

  • <METHOD_SIGNATURE>, yöntemin imzasıdır ve yöntemin adını, parametre türlerini ve döndürülen türlerini içerir. Örneğin, LayoutNode üzerindeki fun isPlaced(): Boolean yönteminin imzası isPlaced()Z'dir.

  • Tek bir kuralın birden fazla yöntemi veya sınıfı kapsayabilmesi için bu kalıplarda joker karakterler (**, * ve ?) bulunabilir.

Kurallar ne işe yarar?

  • H işareti bulunan bir yöntem, bu yöntemin "sıcak" bir yöntem olduğunu ve önceden derlenmesi gerektiğini gösterir.

  • S işareti bulunan bir yöntem, başlangıçta çağrılan bir yöntem olduğunu gösterir ve yöntemin başlangıçta derleme ve yorumlama maliyetini önlemek için önceden derlenmesi gerekir.

  • P işareti olan bir yöntem, başlangıçtan sonra çağrılan bir yöntem olduğunu gösterir.

  • Bu dosyada bulunan bir sınıf, başlangıç sırasında kullanıldığını ve sınıf yükleme maliyetini önlemek için yığınta önceden ayrılması gerektiğini gösterir.

Nasıl çalışır?

  • Kitaplıklar, AAR yapılarına paketlenecek bu kuralları tanımlayabilir. Daha sonra bu yapıları içeren bir uygulama oluşturulduğunda bu kurallar birleştirilir ve birleştirilen kurallar, uygulamaya özgü kompakt bir ikili ART profili oluşturmak için kullanılır. Ardından ART, uygulamanın performansını (özellikle de ilk çalıştırmayı) iyileştirmek için uygulamanın belirli bir alt kümesini önceden derlemek amacıyla uygulama cihazlara yüklendiğinde bu profilden yararlanabilir. Bu durumun, hata ayıklama yapılabilir uygulamaları etkilemeyeceğini unutmayın.

Sürüm 1.0.0-beta08

2 Haziran 2021

androidx.compose.animation:animation:1.0.0-beta08 ve androidx.compose.animation:animation-core:1.0.0-beta08 yayınlandı. 1.0.0-beta08 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Artık detectDragGesures, detectVerticalGestures ve detectHorizontalGestures, konum değişikliğini otomatik olarak tüketiyor. onDrag geri çağrılarında change.consumePositionChange çağrısına gerek yok (I42fc4, b/185096350, b/187320697)
  • Modifier.onGloballyPositioned(), tüm değiştiricilerin uygulanmasından sonra düzen koordinatlarını değil, değiştirici zincirindeki bu değiştiricinin koordinatlarını bildirecek şekilde değiştirildi. Bu, artık değiştiricilerin sıralamasının hangi koordinatların raporlanacağını etkilediği anlamına gelir. (Ieb67d, b/177926591)

Sürüm 1.0.0-beta07

18 Mayıs 2021

androidx.compose.animation:animation:1.0.0-beta07 ve androidx.compose.animation:animation-core:1.0.0-beta07 yayınlandı. 1.0.0-beta07 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • MutableTransitionState içinde görünürlük belirtilmesini destekleyen yeni AnimatedVisibility API. Bu sayede animasyon durumlarının currentState ve isIdle aracılığıyla AnimatedVisibility dışından gözlemlenmesi de mümkün olur.
    • Geçiş'te yeni çocuk geçişi desteği
    • AnimationScope.transition kullanarak AnimatedVisibility'de özel çıkış/giriş geçiş animasyonu desteği
    • AnimatedVisibility öğesinin tüm alt öğeleri tarafından erişilebilen yeni animateEnterExit değiştirici
    • initiallyVisible parametresi alan AnimatedVisibility API'lerinin desteği sonlandırıldı (I702f3)

Sürüm 1.0.0-beta06

5 Mayıs 2021

androidx.compose.animation:animation:1.0.0-beta06 ve androidx.compose.animation:animation-core:1.0.0-beta06 yayınlandı. 1.0.0-beta06 sürümü bu taahhütleri içerir.

Sürüm 1.0.0-beta05

21 Nisan 2021

androidx.compose.animation:animation:1.0.0-beta05 ve androidx.compose.animation:animation-core:1.0.0-beta05 yayınlandı. 1.0.0-beta05 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • ui-test-manifest ve ui-tooling-data'daki AndroidManifest dosyaları artık Android 12 ile uyumludur (I6f9de, b/184718994)

Sürüm 1.0.0-beta04

7 Nisan 2021

androidx.compose.animation:animation:1.0.0-beta04 ve androidx.compose.animation:animation-core:1.0.0-beta04 yayınlandı. 1.0.0-beta04 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • RowScope, ColumnScope, BoxScope, BoxWithConstraintsScope'in herkese açık örnekleri kaldırıldı. (I4e83e, b/181869067)

Sürüm 1.0.0-beta03

24 Mart 2021

androidx.compose.animation:animation:1.0.0-beta03 ve androidx.compose.animation:animation-core:1.0.0-beta03 yayınlandı. 1.0.0-beta03 sürümü bu taahhütleri içerir.

Sürüm 1.0.0-beta02

10 Mart 2021

androidx.compose.animation:animation:1.0.0-beta02 ve androidx.compose.animation:animation-core:1.0.0-beta02 yayınlandı. 1.0.0-beta02 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Deneysel API'lerin herkese açık kullanımıyla ilgili kısıtlamaları zorunlu kılma (I6aa29, b/174531520)

Sürüm 1.0.0-beta01

24 Şubat 2021

androidx.compose.animation:animation:1.0.0-beta01 ve androidx.compose.animation:animation-core:1.0.0-beta01 yayınlandı. 1.0.0-beta01 sürümü bu taahhütleri içerir.

Bu, Compose 1.0.0 Beta'nın ilk sürümüdür.

API Değişiklikleri

  • InteractionState, [Mutable]InteractionSource ile değiştirildi
    • Etkileşim etkinliklerini yayınlamaktan / toplamaktan arayüzler sorumludur.
    • interactionState = remember { InteractionState() } değerini Button ve Modifier.clickable() gibi bileşenlere iletmek yerine interactionSource = remember { MutableInteractionSource() } değerini kullanın.
    • Bunun yerine: Interaction.Pressed in interactionState InteractionSource.collectIsPressedAsState() gibi InteractionSource'daki uzantı işlevlerini kullanmanız gerekir.
    • Karmaşık kullanım alanları için etkileşim akışını gözlemlemek üzere InteractionSource.interactions parametresini kullanabilirsiniz. Daha fazla bilgi için InteractionSource belgelerini ve örneklerini inceleyin.
    • (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
  • smoothScrollBy ve scrollBy yöntemlerinin paketleri androidx.compose.foundation.gestures.* (I3f7c1, b/175294473) olarak değiştirildi
  • Beden düzenleyiciler yeniden adlandırıldı. Modifier.width/height/size, requiredWidth/requiredHeight/requiredSize olarak yeniden adlandırıldı. Modifier.preferredWidth/preferredHeight/preferredSize, width/height/size olarak yeniden adlandırıldı. (I5b414)
  • Oryantasyon, temel pakete taşındı. VelocityTracker, ui.gesture alanından ui.input.pointer alanına taşındı. (Iff4a8, b/175294473)
  • AnimationClockObservable ve alt sınıfları kaldırıldı. AnimatedFloat kaldırıldı. (Icde52, b/177457083)
  • Modifier.draggable artık basit bir lambda yerine DraggableState değerini kabul ediyor. Öncekiyle aynı davranışı elde etmek için rememberDraggableState { delta -> } aracılığıyla durum oluşturabilirsiniz (Ica70f, b/175294473)
  • animate, animatedValue, AnimatedValue API'leri kaldırıldı (If27bc, b/177457083)
  • AnimationEndReason.Interrupted kaldırıldı. Animasyon kesintiye uğrarsa CancellationException atılır. (I2cbbc, b/179695417)
  • TargetAnimation API kaldırıldı. (If47d1, b/177457083)

Sürüm 1.0.0-alpha12

10 Şubat 2021

androidx.compose.animation:animation:1.0.0-alpha12 ve androidx.compose.animation:animation-core:1.0.0-alpha12 yayınlandı. 1.0.0-alpha12 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Modifier.pointerInput artık yeni bağımlılıklar için işaretçi giriş algılama coroutine'sinin ne zaman yeniden başlatılacağını belirtmek üzere anahtarları hatırlamayı gerektiriyor. (I849cd)
  • Bounds, DpRect (I4b32a) olarak yeniden adlandırıldı
  • AnimationSpec parametre adı, animasyon sistemi genelinde animationSpec olarak birleştirildi. Enter/ExitTransition'ı da FiniteAnimationSpec'i kabul edecek şekilde kısıtlayın. (Ie47c5, b/177457083)
  • Animatable.snapTo ve Animatable.stop artık askıya alma işlevleridir (If4288)
  • Daha önce state { 0 } bileşenini kaldırıp remember { mutableStateOf(0) } gibi kullanımları teşvik ettiğimiz gibi, savedInstanceState { 0 } bileşenini de kaldıracağız. Bunun yerine rememberSaveable { mutableStateOf(0) } kullanmalısınız. MutableState içinde kullanılan tür Bundle'da depolanabiliyorsa otomatik olarak kaydedilir ve geri yüklenir. Daha önce özel bir koruyucu nesnesi iletiyorsanız artık stateSaver parametresi içeren yeni bir rememberSaveable aşırı yüklemesini kullanmanız gerekir. Kullanım şu şekilde görünür: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } (Ib4c26, b/177338004)
  • Geçiş animasyonunun yöntem imzasını, animasyon sisteminin geri kalanıyla daha tutarlı olacak şekilde güncellendi. (Ib05ed, b/177457083)
  • rememberSavedInstanceState(), rememberSaveable() olarak yeniden adlandırıldı ve androidx.compose.runtime.saveable paketine taşındı. (I1366e, b/177338004)
  • RestorableStateHolder, SaveableStateHolder olarak yeniden adlandırıldı ve androidx.compose.runtime.saveable paketine taşındı. İç yöntem RestorableStateProvider, SaveableStateProvider olarak yeniden adlandırıldı. Herhangi bir anahtar olarak iletebilmeniz için genel tür kaldırıldı. Deneysel ek açıklama artık gerekli değildir. (I0902e, b/174598702)
  • Modifier.animateContentSize API'si, animasyon sisteminin geri kalanıyla tutarlı olacak şekilde güncellendi. (I0bf75, b/177457083)
  • AnimatedValue/Float için destek sonlandırıldı. Bunun yerine lütfen Animatable'ı kullanın. (I71345, b/177457083)
  • tapGestureFilter, doubleTapGestureFilter, longPressGestureFilter ve pressIndicaitonGestureFilter desteği sonlandırıldı. Bunun yerine, detectTapGestures işleviyle birlikte Modifier.clickable veya Modifier.pointerInput kullanın. (I6baf9, b/175294473)
  • Sonsuz animasyonlarda uygulanacak bir InfiniteAnimationPolicy coroutine bağlam öğesi kullanıma sunuldu. ComposeTestRule ile test çalıştırırken hariç olmak üzere varsayılan olarak hiçbir politika yüklenmez. (I50ec4, b/151940543)
  • Yapıyı bölme ve copy() yöntemleri, nadiren kullanıldıkları birkaç sınıftan kaldırıldı. (I26702, b/178659281)
  • Animasyonda oynatma süresi artık nanosaniyelerle sınırlı değil (If776a)
  • compose:runtime-dispatch yapısını kullanmayı bırakın. MonotonicFrameClock artık compose:runtime, AndroidUiDispatcher ise compose:ui altında bulunabilir. (Ib5c36)
  • Bir animasyonu sonsuz olup olmadığını belirten Animation.isInfinite ve VectorizedAnimationSpec.isInfinite değerleri eklendi. Bu, animasyon uygulamalarında bu tür animasyonlara özel işlem yapılması için kullanılabilir. Örneğin, özel bir "kalan süre" mesajı gösterilebilir veya testler sırasında, cihazın süresiz olarak boşta kalmasını önlemek için animasyon iptal edilebilir. (Iebb05, b/151940543)
  • Animasyon süresi türü olarak Uptime yerine Long kullanın (Ie3aa7, b/177420019)

Sürüm 1.0.0-alpha11

28 Ocak 2021

androidx.compose.animation:animation:1.0.0-alpha11 ve androidx.compose.animation:animation-core:1.0.0-alpha11 yayınlandı. 1.0.0-alpha11 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • TransitionDefinition tabanlı geçişin desteği sonlandırıldı (I0ac57)
  • Geçiş ve alt animasyonların araçlarda gösterilmesi için bir etiket alanı eklendi (I619fb)
  • animateAsState artık animateFooAsState olarak değişti. Foo, animasyon uygulanan değişkenin türüdür. Ör. Float, Dp, Offset vb. (Ie7e25)
  • İstediğiniz sayıda alt animasyon çalıştıran yeni InfiniteTransition. (I1da81)
  • Material durum bilgisine sahip parametre arayüzlerini, State<T> döndüren @Composable işlevleri olacak şekilde değiştirir. Animatable öğesini duruma dönüştürmeyi kolaylaştırmak için Animatable.asState() işlevini ekler. Ayrıca animateElevation, Animatable üzerinde askıya alma uzantısı olarak değiştirilir. (If613c)

Hata Düzeltmeleri

  • onCommit, onDispose ve onActive için desteği sonlandırıldı. Bunun yerine SideEffect ve DisposableEffect API'leri kullanılmalıdır (If760e)
  • updateTransition'daki ilk durum artık desteklenmektedir (Ifd51d)
  • Resim ve simge için içerik açıklaması parametresi eklendi. Erişilebilirlik hizmetlerine açıklama sağlamak için kullanılır (I2ac4c)
  • invalidate ve compositionReference() işlevlerinin desteği sonlandırıldı. Bu işlevlerin yerine sırasıyla currentRecomposeScope ve rememberCompositionReference işlevleri kullanılmalıdır. (I583a8)
  • Süre ve Uptime, Uzun milisaniye ile değiştirilecek. Bu adım, işaretçi girişinin bu sınıflara olan bağımlılığını kaldırır. (Ia33b2, b/175142755, b/177420019)
  • tıklanabilir, açma/kapatma düğmeli ve seçilebilir öğeler artık kompozisyon dışında oluşturulabilir (I0a130, b/172938345, b/175294473)
  • Easing, işlevsel bir arayüze (Ib14e5) değiştirildi
  • LazyColumn/LazyRow/LazyVerticalGrid kapsamı için yeni items(count: Int) fabrika yöntemi. items(items: List) ve itemsIndexed(items: List) artık uzantı işlevleri olduğundan, kullanıldığında bunları manuel olarak içe aktarmanız gerekir. Diziler için yeni uzantı aşırı yüklemeleri: items(items: Array) ve itemsIndexed(Array) (I803fc, b/175562574)
  • Testlerde TestCoroutineDispatcher'dan yararlanma (I532b6)
  • PointerInputData kaldırıldı ve PointerInputChange, PointerInputData'nın tüm alanlarını içerecek şekilde değiştirildi. Herhangi bir genel API'de kullanılmadıkları için PointerInputEvent ve PointerInputEventData'yı dahili hale getirdik. (Ifff97, b/175142755)

Sürüm 1.0.0-alpha10

13 Ocak 2021

androidx.compose.animation:animation:1.0.0-alpha10 ve androidx.compose.animation:animation-core:1.0.0-alpha10 yayınlandı. 1.0.0-alpha10 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Hız, bileşen parçaları ve matematiksel işlemler içerecek şekilde değiştirildi. (Ib0447)
  • Benzer deneysel API ek açıklamalarıyla tutarlı olması için @ExperimentalTesting, @ExperimentalTestApi olarak yeniden adlandırıldı (Ia4502, b/171464963)
  • Position, DpOffset olarak yeniden adlandırıldı ve getDistance() kaldırıldı (Ib2dfd)
  • Any.identityHashCode() herkese açık API'si kaldırıldı (I025d7)

Hata Düzeltmeleri

  • Animasyonları arasında karşılıklı münhasırlığı sağlayan yeni coroutine tabanlı API Animatable. Çok boyutlu bozulma animasyonunu desteklemek için yeni DecayAnimationSpec (I820f2, b/168014930)
  • animate() artık animateAsState() ile değiştirildi. Bu değişiklik, T yerine State<T> döndürür. Geçersiz kılma kapsamı, State değerinin okunduğu yere daraltılabileceğinden bu, daha iyi performans sağlar. (Ib179e)

Sürüm 1.0.0-alpha09

16 Aralık 2020

androidx.compose.animation:animation:1.0.0-alpha09 ve androidx.compose.animation:animation-core:1.0.0-alpha09 yayınlandı. 1.0.0-alpha09 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Dp.VectorConverter, Position.VectorConverter vb. animation-core'a taşındı ve eski VectorConveters desteği sonlandırıldı (If0c4b)
  • Kullanım kolaylığı ve dinamik olarak eklenen animasyonlar ile dinamik olarak hesaplanan animasyon hedefleri için destek sunan yepyeni bir geçiş API'si grubu kullanıma sunuldu. Bu API'ler, TransitionDefinition tabanlı API'den kolayca ayırt edilebilmeleri için deneysel olarak işaretlenmiştir. (Ia7fe3)

Hata Düzeltmeleri

  • Ofset değiştiricilerdeki lambdalar artık Float yerine IntOffset döndürüyor. (Ic9ee5, b/174137212, b/174146755)
  • LazyColumnFor, LazyRowFor, LazyColumnForIndexed ve LazyRowForIndexed işlevleri kullanımdan kaldırılıyor. Bunun yerine LazyColumn ve LazyRow kullanın (I5b48c)
  • İşaretçi girişi API'lerini askıya almak için HandlePointerInputScope adlı API'nin adı AwaitPointerEventScope olarak, handlePointerInput() adlı API'nin adı da awaitPointerEventScope() olarak değiştirildi. (Idf0a1, b/175142755)
  • InfiniteRepeatableSpec oluşturmak için yeni infiniteRepeatable işlevi (I668e5)
  • ExperimentalPointerInput ek açıklaması kaldırıldı (Ia7a24)

Sürüm 1.0.0-alpha08

2 Aralık 2020

androidx.compose.animation:animation:1.0.0-alpha08 ve androidx.compose.animation:animation-core:1.0.0-alpha08 yayınlandı. 1.0.0-alpha08 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Compose yönergeleriyle tutarlılığı kontrol etmek için birleştirilebilir lambda parametre adlandırma ve konumu için lint denetimi eklendi. Ayrıca, son lambda adları olarak children kullanan bazı API'ler, lint kontrolüne ve yönlendirmeye göre content olarak taşındı. (Iec48e)
  • Daha önce desteği sonlandırılan API'ler kaldırıldı:
    • Modifier.onPositioned kaldırıldı. Modifier.onGloballyPositioned'ü kullanın.
    • Modifier.onDraw kaldırıldı. Modifier.onDrawBehind'ü kullanın.
    • Modifier.plus kaldırıldı. Modifier.then'ü kullanın.
    • Color.Unset kaldırıldı. Color.Unspecified'ü kullanın.
    • PxBounds sınıfı kaldırıldı. Bunun yerine Rect sınıfını kullanın.
    • (Ie9d02, b/172562222)
  • TestAnimationClock'ın MonotonicFrameClock tarafından yönlendirilmesine izin vermek için geçici olarak eklenen seçenek (I1403b, b/173402197)

Hata Düzeltmeleri

  • Modifier.drawLayer, Modifier.graphicsLayer olarak yeniden adlandırıldı. Ayrıca API konseyi geri bildirimine göre ilgili sınıflar GraphicsLayer olarak güncellendi. (I0bd29, b/173834241)
  • drawLayer için kolaylık sağlamak amacıyla Modifier.scale/rotate API'leri eklendi.
    • Modifier.drawOpacity, Modifier.alpha olarak yeniden adlandırıldı
    • Modifier.drawShadow, Modifier.shadow olarak yeniden adlandırıldı (I264ca, b/173208140)
  • PointerInputData'nın çalışma süresi ve konum alanlarını boş bırakılamayan hale getirdik. (Id468a)
  • offsetPx değiştiricileri offset olarak yeniden adlandırıldı. Artık durum yerine lambda parametreleri alıyorlar. (Ic3021, b/173594846)
  • Animasyonları coroutine'lerde çalıştırmak için yeni API'ler (Ied662)
  • Son eklerinde Ambient bulunan Ambient'ler kullanımdan kaldırıldı ve diğer Ambient'ler ile Compose API yönergelerine uygun olarak Ambient önekiyle yeni mülklerle değiştirildi. (I33440)
  • Testlerde zaman kontrolü (TestAnimationClock ve kullanımları) artık deneyseldir (I6ef86, b/171378521)
  • Eski ui-test modülünü ve onun stub'larını kaldırın (I3a7cb)
  • RestorableStateHolder.withRestorableState işlevi RestorableStateProvider olarak yeniden adlandırıldı (I66640)
  • Hizalama arayüzü güncellendi ve çalışır hale getirildi. (I46a07, b/172311734)

Sürüm 1.0.0-alpha07

11 Kasım 2020

androidx.compose.animation:animation:1.0.0-alpha07 ve androidx.compose.animation:animation-core:1.0.0-alpha07 yayınlandı. 1.0.0-alpha07 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Temel AmbientTextStyle, ProvideTextStyle ve AmbientContentColor desteği sonlandırıldı. Bunun yerine, Material kitaplığındaki yeni sürümleri kullanın. Material olmayan uygulamalarda ise kendi tasarım sisteminize özel tema ortamları oluşturmanız ve bunları kendi bileşenlerinizde kullanmanız gerekir. (I74acc, b/172067770)
  • foundation.Text desteği sonlandırıldı ve material.Text ile değiştirildi. Bir temadan değer tüketmeyen temel, tarafsız bir metin API'si için androidx.compose.foundation.BasicText'e bakın. (If64cb)
  • MeasureResult, MeasureScope'tan çıkarıldı. (Ibf96d, b/171184002)
  • androidx.compose.ui altındaki birkaç düzen sembolü, androidx.compose.layout.ui altına taşındı. (I0fa98, b/170475424)

Sürüm 1.0.0-alpha06

28 Ekim 2020

androidx.compose.animation:animation:1.0.0-alpha06 ve androidx.compose.animation:animation-core:1.0.0-alpha06 yayınlandı. 1.0.0-alpha06 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • ComposeTestRule'da geçişleri etkinleştirin; ComposeTestRule'dan yanıp sönen imleci etkinleştirme seçeneğini kaldırın. (If0de3)

Sürüm 1.0.0-alpha05

14 Ekim 2020

androidx.compose.animation:animation:1.0.0-alpha05 ve androidx.compose.animation:animation-core:1.0.0-alpha05 yayınlandı. 1.0.0-alpha05 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Yeni animasyon arayüzü ve alt sınıfları: Bu sınıflar, animasyonlar için başlangıç ve bitiş koşullarını depolar ve bu nedenle, değerin ve hızın yalnızca oynatma süresi aracılığıyla sorgulanmasına olanak tanır (Ie95bd, b/163329867)

Hata Düzeltmeleri

  • OnPositionedModifier, OnGloballyPositionedModifier olarak yeniden adlandırıldı ve onPositioned(), onGloballyPositioned() olarak yeniden adlandırıldı. (I587e8, b/169083903)
  • contentColor() ve currentTextStyle() API'lerinin desteği sonlandırılır ve sırasıyla AmbientContentColor ve AmbientTextStyle ortamlarıyla değiştirilir. Diğer tüm ortamlarda olduğu gibi, ortam mülkünde .current kullanarak mevcut değere erişebilirsiniz. Bu değişiklik, tutarlılık sağlamak ve aynı işlemi gerçekleştirmek için birden fazla yöntem olmasını önlemek amacıyla yapılmıştır. Ayrıca, bazı ortam özelliklerini amaçlarını daha iyi açıklamak için aşağıdaki şekilde yeniden adlandırır:

    • ContentColorAmbient -> AmbientContentColor
    • TextStyleAmbient -> AmbientTextStyle
    • IndicationAmbient -> AmbientIndication
    • VurguOrtam -> OrtamVurguDüzeyleri
    • RippleThemeAmbient -> AmbientRippleTheme (I37b6d)

Sürüm 1.0.0-alpha04

1 Ekim 2020

androidx.compose.animation:animation:1.0.0-alpha04 ve androidx.compose.animation:animation-core:1.0.0-alpha04 yayınlandı. 1.0.0-alpha04 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • rootAnimationClockFactory, transitionsEnabled, blinkingCursorEnabled ve textInputServiceFactory sınıflarına @VisibleForTesting ekleyerek bunları dahili API'ye dönüştürün ve kdoc'larını gizleyin (I554eb, b/168308412)

Hata Düzeltmeleri

  • Birçok Grafik API'si güncellendi
    • DrawScope ve DrawTransform'daki x/y koordinatları için ayrı kayan nokta parametreleri yerine pivot koordinatını temsil etmek üzere tek bir Offset parametresi kullanacak şekilde ölçek ve dönme dönüşümü API'leri güncellendi
    • Rect.expandToInclude ve Rect.join yöntemleri kaldırıldı
    • Yarıçap dokümanları, elips şeklindeki şekillere ek olarak oval şeklindeki şekilleri de içerecek şekilde güncellendi.
    • Satır içi Radius sınıfının herkese açık kurucusunun doğrudan çağrılmaması gerektiğini, bunun yerine Radius nesnelerinin işlev kurucuları aracılığıyla oluşturulması gerektiğini belirten dokümanlar eklendi
    • Sağ üst, sağ alt, alt orta vb. noktaları sorgulamak için RoundRect API'leri kaldırıldı.
    • Rect.shift işlevi, Rect.translate işlevi lehine kullanımdan kaldırıldı
    • RoundRect.grow ve Rect.shrink API'leri kaldırıldı
    • RoundRect.outerRect, Rect.boundingRect olarak yeniden adlandırıldı
    • RoundRect.middleRect/tallMiddleRect/wideMiddleRect ve Rect.isStadium yöntemleri kaldırıldı
    • RoundRect.longestSide, RoundRect.maxDimension olarak yeniden adlandırıldı
    • RoundRect.shortestSide, RoundRect.minDimension olarak yeniden adlandırıldı
    • RoundRect.center işlevi, işlev yerine mülk olarak değiştirildi
    • RoundRect yapıcısı, x/y yarıçapı değerleri için ayrı parametreler yerine Radius özelliklerini kullanacak şekilde güncellendi
    • Orijininin 0,0 olduğu bir dikdörtgen olduğunu varsayılan Boyut API'leri kaldırıldı
    • Radius'a bir destructing API eklendi
    • Çeşitli RoundRect uzantı işlevleri, mülk olarak taşındı
    • (I8f5c7, b/168762961)
  • foundation.Box desteği sonlandırıldı. Bunun yerine lütfen foundation.layout.Box öğesini kullanın. (Ie5950, b/167680279)
  • Grup, Box olarak yeniden adlandırıldı. Daha önce mevcut olan Box, compose.foundation.layout içindeki yeni Box için kullanımdan kaldırılacak. Yeni Kutu'nun davranışı, birden fazla alt öğesi olduğunda alt öğeleri üst üste yığmaktır. Bu, sütuna benzer şekilde davranan önceki Kutu'dan farklıdır. (I94893, b/167680279)
  • Kutu süsleme parametrelerinin desteği sonlandırıldı. Kutunuzda süsleme/dolgu olmasını istiyorsanız bunun yerine değiştiricileri kullanın (Modifier.background, Modifier.border, Modifier.padding) (Ibae92, b/167680279)
  • Düzenleme kapsamlarının içeriğinin statik olarak içe aktarılmasını (ör. RowScope'taki alignWithSiblings) engelledik. Bunun yerine açık kapsam alternatifi kullanılmalıdır: with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }. (I216be, b/166760797)

Sürüm 1.0.0-alpha03

16 Eylül 2020

androidx.compose.animation:animation:1.0.0-alpha03 ve androidx.compose.animation:animation-core:1.0.0-alpha03 yayınlandı. 1.0.0-alpha03 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Yerçekimi kullanımları, düzen API'lerinde tutarlı bir şekilde align veya alignment olarak yeniden adlandırıldı. (I2421a, b/164077038)

Sürüm 1.0.0-alpha02

2 Eylül 2020

androidx.compose.animation:animation:1.0.0-alpha02 ve androidx.compose.animation:animation-core:1.0.0-alpha02 yayınlandı. 1.0.0-alpha02 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Bu saatten bir kare bekleyip beklemediğini görmek için ManualFrameClock.hasAwaiters eklendi; ManualFrameClock gerektiren testleri çalıştırırken runBlocking yerine runWithManualClock eklendi; testlerinizde ana kullanıcı arayüzü dağıtıcısına kolay erişim sağlayan TestUiDispatcher.Main eklendi.

    Örnek:

    @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)

Hata Düzeltmeleri

  • onPreCommit işlevinin desteği sonlandırıldı. onCommit işlevi artık onPreCommit işlevinin davranışını sergiliyor.

    onCommit ve onActive artık bir sonraki koreograf çerçevesinin başında değil, kompozisyon değişikliklerinin yapıldığı koreograf çerçevesinde çalışır. (I70403)

Sürüm 1.0.0-alpha01

26 Ağustos 2020

androidx.compose.animation:animation:1.0.0-alpha01 ve androidx.compose.animation:animation-core:1.0.0-alpha01 yayınlandı. 1.0.0-alpha01 sürümü bu taahhütleri içerir.

Sürüm 0.1.0-dev

Sürüm 0.1.0-dev17

19 Ağustos 2020

androidx.compose.animation:animation:0.1.0-dev17 ve androidx.compose.animation:animation-core:0.1.0-dev17 yayınlandı. 0.1.0-dev17 sürümü bu taahhütleri içerir.

Yeni Özellikler

API Değişiklikleri

  • Ofset, satır içi sınıf haline geldi (Iaec70)
  • IntOffset artık satır içi bir sınıftır (Iac0bf)
  • IntSize artık satır içi bir sınıftır (I2bf42)
  • AnimatedVisibilty bileşeni, alt içeriğin görünmesini ve kaybolmasını animasyonlu hale getirir.

    EnterTransition ve ExitTransition, AnimatedVisibilty kompozitiyle birlikte çalışarak 3 farklı görünme ve kaybolma animasyonu türü sunmak için kullanıma sunulmuştur: solma, kaydırma ve içeriği genişletme/küçültme. Farklı animasyon türleri, daha özel bir görünüm ve his elde etmek için birleştirilebilir. (Idda11)

  • Rect için PxBounds desteği sonlandırıldı. PxBounds'un tüm kullanımlarını rect ile güncelledik ve taşıma işlemine yardımcı olmak için uygun desteği sonlandırma/şununla değiştir: ek açıklamaları ekledik. (I37038, b/162627058)

Hata Düzeltmeleri

  • PlacementScope.placeAbsolute(), PlacementScope.place() olarak yeniden adlandırıldı ve önceki PlacementScope.place(), PlacementScope.placeRelative() olarak yeniden adlandırıldı. Sonuç olarak, PlacementScope.place() yöntemi artık sağdan sola doğru metinlerde konumu otomatik olarak yansıtmayacaktır. Bu isterseniz bunun yerine PlacementScope.placeRelative() kullanın. (I873ac, b/162916675)
  • state { ... } bileşeni artık kullanımdan kaldırıldı. Bunun yerine, netlik için remember { mutableStateOf(...) }'a açık çağrılar yapılması önerilir. Bu, genel API yüzeyini ve durum yönetimiyle ilgili kavram sayısını azaltır ve sınıf mülkü yetkilendirmesi için by mutableStateOf() kalıbıyla eşleşir. (Ia5727)

Sürüm 0.1.0-dev16

5 Ağustos 2020

androidx.compose.animation:animation:0.1.0-dev16 ve androidx.compose.animation:animation-core:0.1.0-dev16 yayınlandı. 0.1.0-dev16 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Yerleşik birimleri dönüştürmek için yerleşik vektör dönüştürücülere artık Foo.VectorConverter üzerinden erişilebilir. Ör.Dp.VectorConverter, Color.VectorConverter, Float.VectorConverter vb. (I3e273)
  • Modifier.animateContentSize() içinde bitiş dinleyicisini destekleyin. Böylece, boyut değişikliği animasyonu sona erdiğinde dinleyiciye animasyonla ilgili başlangıç/bitiş boyutu ile birlikte bildirim gönderilir. (I277b2)
  • Alt değiştiricisinin (Ieffdc) düzen boyutu değişikliğini animasyonlu olarak gösteren yeni animateContentSize değiştirici
  • Yeni coroutine tabanlı saatler ile hâlâ eski geri çağırma tabanlı saatleri kullanan API'ler arasındaki boşluğu doldurmak için AnimationClockObservable olarak MonotonicFrameClock kullanmanıza olanak tanıyan MonotonicFrameAnimationClock eklendi.

    ManualAnimationClock'un MonotonicFrameClockeşdeğeri artık ManualFrameClock. (I111c7, b/161247083)

Hata Düzeltmeleri

  • Sağdan sola yazma desteği için API'ler güncellendi. Düzen yönünü okumak ve değiştirmek için kullanılabilen LayoutDirectionAmbient eklendi. Modifier.rtl ve Modifier.ltr kaldırıldı. (I080b3)
  • transitionDefinition için T türünün açıkça belirtilmesini zorunlu tutun. (I1aded)
  • foundation.shape.corner paketi, foundation.share olarak düzleştirildi (I46491, b/161887429)
  • Modifier.plus desteği sonlandırıldı. Bunun yerine Modifier.then işlevini kullanın. "Sonra", sıralama konusunda daha güçlü bir sinyal verir. Ayrıca Modifier.padding().background() + anotherModifier yazmayı yasaklar. Bu da zinciri bozar ve metnin okunmasını zorlaştırır (Iedd58, b/161529964)
  • Modifier.drawBackground, Modifier.background olarak yeniden adlandırıldı (I13677)

Sürüm 0.1.0-dev15

22 Temmuz 2020

androidx.compose.animation:animation:0.1.0-dev15 ve androidx.compose.animation:animation-core:0.1.0-dev15 yayınlandı. 0.1.0-dev15 sürümü bu taahhütleri içerir.

Bağımlılıklar Güncellemesi

  • Compose'un 0.1.0-dev15 sürümünü kullanmak için bağımlılıkları, yukarıdaki Bağımlılıkları tanımlama bölümünde gösterilen yeni kod snippet'lerine göre güncellemeniz gerekir.

API Değişiklikleri

  • Transition API, TransitionState'i alt öğelere iletmek yerine TransitionState döndürecek şekilde değiştirildi. Bu sayede API, animate() API'leriyle daha tutarlı hale gelir. (I24e38)
  • Çapraz geçiş için değiştirici parametresi eklendi (I87cfe, b/159706180)
  • Statik animasyon spesifikasyonu kavramını netleştirmek için üst düzey API'lerde AnimationBuilder yerine AnimationSpec kullanın.
    • tween, spring gibi AnimationSpecs oluşturmak için lambda koşulunu kaldırarak geçiş DSL'sini iyileştirin. Bunun yerine, doğrudan kurucu parametrelerini alırlar.
    • Oluşturuculara güvenmek yerine yapıcıları açarak AnimationSpec'in genel kullanım kolaylığını artırın
    • KeyFrames ve Tween için süreyi ve gecikmeyi Int olarak değiştirin. Bu, gereksiz tür dönüştürme işlemlerini ve yöntem aşırı yüklemelerini (hem Long hem de Int'i desteklemek için) ortadan kaldırır. (Ica0b4)
  • IntPx kullanımı Int ile değiştirildi. IntPxPosition, IntOffset ile değiştirildi. IntPxSize, IntSize ile değiştirildi. (Ib7b44)
  • Beden bilgilerini temsil etmek için kullanılan sınıf sayısını birleştirmek amacıyla PxSize yerine Size sınıfının kullanımını standartlaştırın. Bu, genişliği ve yüksekliği kesirli sayı olarak temsil etmek için 2 kesirli sayı değerini paketlemek üzere uzun bir değerden yararlanmak amacıyla satır içi sınıfın avantajlarını sağlar. (Ic0191)
  • Konumlandırma bilgilerini temsil etmek için kullanılan sınıf sayısını birleştirmek amacıyla PxPosition yerine Offset sınıfının kullanımını standartlaştırın. Bu, x ve y ofsetlerini kesirli sayı olarak temsil etmek için 2 kesirli sayı değerini paketlemek üzere uzun bir değerden yararlanan satır içi sınıfın avantajlarını sağlar. (I3ad98)
  • Piksel parametreleri için yalnızca Dp ve ilkel türlere güvenmek amacıyla büyük bir yeniden yapılanma çalışması kapsamında çeşitli kompozisyon sınıflarında Px sınıfının kullanımı değiştirildi (I086f4)
  • Dp, Px, Size, Position, Bounds, PxPosition, PxSize, PxBounds, IntPx, IntPxSize, IntPxPosition, IntPxBounds ve AnimationVector için animate() desteği eklendi (Ib7518)
  • Geçiş animasyonu artık animasyonun yapılandırılmasına izin vermek için isteğe bağlı AnimationBuilder parametresini kabul ediyor (I6d6e0)
  • API'deki tüm boş değer kabul eden Color kullanımları, boş değer kabul etmeyenlerle değiştirildi ve null yerine Color.Unset kullanıldı (Iabaa7)
  • ValueHolder sınıfı kaldırıldı. Alt sınıfların değer güncellemesini izleyebilmesi için animasyon değeri alanını soyut hale getirmek amacıyla AnimatedValue ve AnimatedFloat sınıfları yeniden yapılandırıldı.
    • AnimatedValue, AnimatedFloat vb. için model sınıfları eklendi.
    • Değerler arasında animasyon oluşturmak için yeni bir hafif @Composable API grubu eklendi. (I79530)
  • Ambiyans API'de önemli değişiklikler. Ayrıntılar için günlüğe ve Ambient<T> belgelerine bakın (I4c7ee, b/143769776)
  • Yeni tekrar modu: Ters. Bu mod, animasyon RepeatableSpec veya VectorizedRepeatableSpec'te tekrarlanırken önceki iterasyonu tersine çevirir. (Ibe0f5)
  • ManualAnimationClock'a API eklemeleri: hasObservers: Boolean ve kurucu parametresi dispatchOnSubscribe: Boolean (Iaa134)
  • AnimatedFloat (Icd9cc) alanında minimum/maksimum sınırları almak için API'ler eklendi

Hata Düzeltmeleri

  • runOnIdleCompose, runOnIdle olarak yeniden adlandırıldı (I83607)
  • Birkaç test API'si daha sezgisel olacak şekilde yeniden adlandırıldı. Tüm findXYZ API'leri onNodeXYZ olarak yeniden adlandırıldı. Tüm doXYZ API'leri performXYZ olarak yeniden adlandırıldı. (I7f164)
  • Düşük düzeyde durum bilgisi olmayan animasyon API'leri kullanıma sunuldu. Bu API'ler (I63bf7)
  • Recompose bileşeni artık yararlı bir soyutlama değildir. Yeniden derleme işlemlerinin çoğu, MutableState atamalarının sonucu olarak gerçekleşir. Bunun dışındaki her şey için mevcut kapsamın yeniden derlenmesini tetiklemek üzere invalidate işlevini kullanmanız önerilir. (Ifc992)
  • Piksel parametreleri için yalnızca Dp ve ilkel türlere güvenmek amacıyla büyük bir yeniden yapılanma çalışması kapsamında çeşitli kompozisyon sınıflarında Px sınıfının kullanımı değiştirildi. Px sınıfı tamamen silindi (I3ff33)
  • Piksel parametreleri için yalnızca Dp ve ilkel türlere güvenmek amacıyla büyük bir yeniden yapılanma çalışması kapsamında çeşitli kompozisyon sınıflarında Px sınıfının kullanımı değiştirildi (Id3434)
  • Geçiş efekti artık başlangıç değeri olarak null ile çalışabilir (Iad6a4, b/155947711)
  • Piksel parametreleri için yalnızca Dp ve ilkel türlere güvenmek amacıyla büyük bir yeniden yapılanma çalışması kapsamında çeşitli kompozisyon sınıflarında Px sınıfının kullanımı değiştirildi (I19d02)
  • CanvasScope uygulamaları birleştirildi. Artık yalnızca DrawScope ve ContentDrawScope var. CanvasScope, DrawScope olarak yeniden adlandırıldı. DrawScope, Density arayüzünü uygulayacak ve LayoutDirection sağlayacak şekilde güncellendi. ContentDrawScope'taki DrawScope alt sınıfı silindi. Painter ve PainterModifier, DrawScope'un manuel olarak sağlamadığı bir RTL mülkünü artık kendileri sağlamamaları için güncellendi (I1798e)
  • Bir Canvas'ı gösteren daha yüksek düzeydeki compose API'leri, bunun yerine CanvasScope'u göstermek için güncellendi. Bu sayede tüketicilerin kendi Paint nesnelerini yönetmesi gerekmez. Yine de bir tuvale erişmesi gereken tüketiciler, temel tuvalde çizim komutları göndermek için geri çağırma sağlayan drawCanvas uzantı yöntemini kullanabilir. (I80afd)
  • Satır ve Sütun'a sırasıyla verticalGravity ve horizontalGravity parametreleri eklendi. (I7dc5a)
  • ui-text modülü, ui-text-core olarak yeniden adlandırıldı (I57ara)
  • DrawModifier API'yi iyileştirme:
    • draw() için alıcı kapsamını ContentDrawScope yaptı
    • draw() işlevindeki tüm parametreler kaldırıldı
    • DrawScope, eski CanvasScope ile aynı arayüze sahiptir.
    • ContentDrawScope'ta drawContent() yöntemi var (Ibaced, b/152919067)
  • runOnIdleCompose ve runOnUiThread artık ComposeTestRule'daki yöntemler yerine genel işlevlerdir. (Icbe8f)
  • [Değiştirilebilir]Durum mülkü temsilcisi operatörleri, Kotlin 1.4 mülk temsilcisi optimizasyonlarını desteklemek için uzantılara taşındı. Arama yapanların by state { ... } veya by mutableStateOf(...)'ü kullanmaya devam etmek için içe aktarma eklemesi gerekir. (I5312c)
  • ColoredRect desteği sonlandırıldı. Bunun yerine Box(Modifier.preferredSize(width, height).drawBackground(color)) politikasını kullanın. (I499fa, b/152753731)
  • Değiştirici artı operatör, fabrika uzantı işlevleriyle değiştirildi (I225e4)
  • Desteği sonlandırılan Center composable. LayoutSize.Fill + LayoutAlign.Center değiştiricisiyle veya uygun değiştiricilerin uygulandığı Box ya da Stack bileşenlerinden biriyle değiştirilmelidir (Idf5e0)
  • LayoutFlexible, LayoutWeight olarak yeniden adlandırıldı. Doldurulacak sıkı parametre yeniden adlandırıldı. (If4738)
  • Opaklık birleştirilebilir işlevi, drawOpacity değiştiricisiyle değiştirildi. (I5fb62)
  • AndroidComposeTestRule kullanan testler artık kompozisyonun kökünde, animasyonu duraklatmaya, devam ettirmeye ve manuel olarak ilerletmeye olanak tanıyan bir animasyon saati sağlıyor. (Id54c5)
  • LayoutPadding değiştiricide sağdan sola yönü destekleme (I9e8da)
  • Density ve DensityScope tek bir arayüzde birleştirildi. Artık ambientDensity() yerine DensityAmbient.current değerini kullanabilirsiniz. withDensity(yoğunluk) yerine sadece with(yoğunluk) (I11cb1)
  • Aşağıdakiler dahil olmak üzere çeşitli satır içi sınıf türlerine kopyalama yöntemleri eklendi:
    • Zaman farkı
    • Boyut
    • Yarıçap
    • Hareket
    • TransformOrigin
    • Size.copy yardımcı nesnesi yöntemi, örnek kopyalama yöntemi lehine kullanımdan kaldırıldı (Ife290, b/159905651)
  • androidx.compose.ViewComposer, androidx.ui.node.UiComposer'a taşındı androidx.compose.Emittable kaldırıldı. ComponentNode ile ek bir işlevi yoktu. androidx.compose.ViewAdapters kaldırıldı. Bu kullanım alanı artık desteklenmiyor. Compose.composeInto desteği sonlandırıldı. Bunun yerine setContent veya setViewContent kullanın. Compose.disposeComposition desteği sonlandırıldı. Bunun yerine setContent tarafından döndürülen Composition üzerinde dispose yöntemini kullanın. androidx.compose.Compose.subcomposeInto, androidx.ui.core.subcomposeInto'ya taşındı ComponentNode#emitInsertAt, ComponentNode#insertAt olarak yeniden adlandırıldı ComponentNode#emitRemoveAt, ComponentNode#removeAt olarak yeniden adlandırıldı ComponentNode#emitMode, ComponentNode#move olarak yeniden adlandırıldı (Idef00)