Animasyon oluşturma
androidx.compose.animation
androidx.compose.animation.core
androidx.compose.animation.graphics
(Tüm compose paketleri için API referans dokümanlarına bakın)
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.
Grup | Açıklama |
---|---|
compose.animation | Kullanı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.foundation | Kullanı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.material | Kullanı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.material3 | Materyal 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.runtime | Compose'un programlama modelinin ve durum yönetiminin temel yapı taşları ve Compose Derleyici Eklentisi'nin hedeflemesi gereken temel çalışma zamanı. |
compose.ui | Dü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.
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
yerinesharedContentState
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 yeniscaleInSharedContentToBounds
vescaleOutSharedContentToBounds
(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 yeniresizeModes
(ScaleToBounds
veRemeasureToBounds
). ÖncekiscaleIn/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ğeriniseekTo()
ile değiştirir ve herhangi bir animasyon olmadan durumu hemen hedef duruma değiştiren birsnapTo()
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
veModifier.approachLayout
artık kararlı. Sırasıyla eskiisMeasurementApproachComplete()
veisPlacementApproachComplete()
'in yerini yeniisMeasurementApproachInProgress()
veisPlacementApproachInProgress()
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 temizlenerekSeekableTransition
'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ıksnapshotFlow
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 yeniresizeModes
(ScaleToBounds
veRemeasureToBounds
). ÖncekiscaleIn/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 yeniscaleInSharedContentToBounds
vescaleOutSharedContentToBounds
(I731c1)
API Değişiklikleri
AnimatedVisibilityScope.transition
artık kararlı bir API'dir.Modifier.animateEnterExit(..)
de kararlı hale getirildi. (I6c1d1)ApproachLayoutModifierNode
veModifier.approachLayout
artık kararlı. Sırasıyla eskiisMeasurementApproachComplete()
veisPlacementApproachComplete()
'in yerini yeniisMeasurementApproachInProgress()
veisPlacementApproachInProgress()
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
veLazyRow
'e öğelerin görünmesi ve kaybolması animasyonu desteği eklendi. Daha önce, yerleşim (yeniden sıralama) animasyonlarını desteklemek içinModifier.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ıyanModifier.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ğeriniseekTo()
ile değiştirir ve herhangi bir animasyon olmadan durumu hemen hedef duruma değiştiren birsnapTo()
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
'ünLazyList
'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
yerineKeyframesSpec
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
KeyframesSpec
için uyumluluk düzeltmesi. (I2bdf3, b/322214617)
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
vescaleOutToFitContainer
,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çinExitTransition.KeepUntilTransitionsFinished
olarak yeniden adlandırıldı. (I1c490)- Artık monoton spline'leri kullanarak N boyutlu herhangi bir değeri enterpolasyon için
keyframesWithSpline
kullanabilirsiniz. ÖzellikleOffset
,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çinKeyframesSpecConfig#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
veSecondaryScrollableTabRow
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 yeniExitTransition.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
veAnimatedVisibility
'ü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ğiAutoboxingStateCreation
. 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ünbuild.gradle
veyabuild.gradle.kts
yapılandırmasında gösterildiği gibiwarning "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ıkAnimatedContent
'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
'taSubcomposeLayout
için yeni varsayılan davranış. Koşullu alanı olmayanSubcomposeLayouts
'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
veBoxWithConstraints
gibi koşullu yuvaları olmayanSubcomposeLayout
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 yeniAnimatedContentScope
. (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
'ünLookaheadScope
'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
vescaleOut
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, r
ememberInfiniteTransition
veInfiniteTransition
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
veInfiniteTransition
ileTransition
'deki tüm uzantı işlevlerinde (ör.InfiniteTransition#animateColor
) desteklenir (I56ef7)
API Değişiklikleri
InfiniteTransition#TransitionAnimationState
veInfiniteTransition#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ızcawithFrameNanos
veyawithFrameMillis
'ı 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çinTestMonotonicFrameClock
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
veAnimatable
'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ıkrepeatCount
verepeatMode
'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ıkrepeatCount
verepeatMode
'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çinanimatedVectorResource
yerineAnimatedImageVector.animatedVectorResource
kullanın.AnimatedImageVector
oluşturmak içinAnimatedImageVector#painterFor
yerinerememberAnimatedVectorResource
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
androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList
adresindekiNullPointerException
sorununu düzeltin (aosp/1947059, b/206677462)- Android'de panodan okunurken pano içeriğinden kaynaklanan kilitlenme düzeltildi. (I06020, b/197769306)
LazyVerticalGrid
'te RTL düzeltildi (aosp/1931080, b/207510535)
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çinanimatedVectorResource
yerineAnimatedImageVector.animatedVectorResource
kullanın.AnimatedImageVector
oluşturmak içinAnimatedImageVector#painterFor
yerinerememberAnimatedVectorResource
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
veAnimatedVisibility
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, Kotlin1.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 yeniandroidx.compose.animation:animation-graphics
modülündedir. (I60873)
Hata Düzeltmeleri
InfiniteAnimationPolicy
, :compose:ui alanına taşındı (I5eb09, b/160602714)
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ünde7.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
InfiniteAnimationPolicy
,androidx.compose.ui:ui
'a taşındı (I5eb09, b/160602714)
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ştirilebilirContentTransform
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ı olarakAnimatedContent
, gelen içeriğe uyacak şekilde boyutunu otomatik olarak animasyonlu olarak değiştirir. (I2c3df) ManualFrameClock
kaldırıldı. Animasyonları kontrol etmeniz gerekiyorsa bunun yerinecomposeTestRule.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 bulunanbaseline-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çinH
,S
veP
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ğeriLandroidx/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
üzerindekifun 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
vedetectHorizontalGestures
, 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 yeniAnimatedVisibility
API. Bu sayede animasyon durumlarınıncurrentState
veisIdle
aracılığıylaAnimatedVisibility
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ğeriniButton
veModifier.clickable()
gibi bileşenlere iletmek yerineinteractionSource = 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ıpremember { mutableStateOf(0) }
gibi kullanımları teşvik ettiğimiz gibi,savedInstanceState { 0 }
bileşenini de kaldıracağız. Bunun yerinerememberSaveable { 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ıkstateSaver
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
veVectorizedAnimationSpec.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)
veitemsIndexed(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ıkanimateAsState()
ile değiştirildi. Bu değişiklik,T
yerineState<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örecontent
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 yerineRect
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şleviRestorableStateProvider
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ırkenrunBlocking
yerinerunWithManualClock
eklendi; testlerinizde ana kullanıcı arayüzü dağıtıcısına kolay erişim sağlayanTestUiDispatcher.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") } }
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 öncekiPlacementScope.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 yerinePlacementScope.placeRelative()
kullanın. (I873ac, b/162916675)state { ... }
bileşeni artık kullanımdan kaldırıldı. Bunun yerine, netlik içinremember { 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çinby 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ıyanMonotonicFrameAnimationClock
eklendi.ManualAnimationClock
'unMonotonicFrameClock
eşdeğeri artıkManualFrameClock
. (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 parametresidispatchOnSubscribe: 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
verunOnUiThread
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 { ... }
veyaby 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
veyasetViewContent
kullanın. Compose.disposeComposition desteği sonlandırıldı. Bunun yerinesetContent
tarafından döndürülenComposition
üzerindedispose
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)