Compose Animation
androidx.compose.animation
androidx.compose.animation.core
androidx.compose.animation.graphics
(Lihat dokumen referensi API untuk mengetahui semua paket Compose)
Update Terbaru | Rilis Stabil | Kandidat Rilis | Rilis Beta | Rilis Alfa |
---|---|---|---|---|
21 Agustus 2024 | 1.6.8 | 1.7.0-rc01 | - | - |
Struktur
Compose adalah kombinasi 7 ID grup Maven dalam androidx
. Setiap grup
berisi subkumpulan fungsi yang ditargetkan, masing-masing dengan kumpulan catatan
rilisnya sendiri.
Tabel ini menjelaskan grup tersebut dan disertai link ke setiap kumpulan catatan rilis.
Grup | Deskripsi |
---|---|
compose.animation | Mem-build animasi di aplikasi Jetpack Compose untuk memperkaya pengalaman pengguna. |
compose.compiler | Mentransformasi fungsi @Composable dan mengaktifkan pengoptimalan dengan plugin compiler Kotlin. |
compose.foundation | Menulis aplikasi Jetpack Compose dengan elemen penyusun siap pakai dan memperluas dasar untuk mem-build bagian sistem desain Anda sendiri. |
compose.material | Mem-build UI Jetpack Compose dengan Komponen Desain Material siap pakai. Ini adalah titik entri pada tingkat yang lebih tinggi untuk Compose, yang dirancang untuk menyediakan komponen yang cocok dengan yang dijelaskan di www.material.io. |
compose.material3 | Mem-build UI Jetpack Compose dengan Komponen Desain Material 3, evolusi berikutnya dari Desain Material. Material 3 menyertakan tema dan komponen yang diperbarui serta fitur personalisasi Material You, seperti warna dinamis. Material 3 juga didesain agar selaras dengan gaya visual dan UI sistem Android 12 yang baru. |
compose.runtime | Elemen penyusun yang penting untuk model pemrograman dan pengelolaan status Compose, serta runtime inti untuk ditargetkan oleh Plugin Compose Compiler. |
compose.ui | Komponen dasar compose UI yang diperlukan untuk berinteraksi dengan perangkat, termasuk tata letak, gambar, dan input. |
Mendeklarasikan dependensi
Untuk menambahkan dependensi pada Compose, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk informasi selengkapnya.
Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle
bagi aplikasi atau modul Anda:
Groovy
dependencies { implementation "androidx.compose.animation:animation:1.6.8" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.animation:animation:1.6.8") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Untuk informasi dependensi selengkapnya, lihat Menambahkan dependensi build.
Masukan
Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau mempunyai masukan untuk meningkatkan kualitas library ini. Harap periksa masalah yang sudah diketahui dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara untuk masalah yang sudah diketahui dengan mengklik tombol bintang.
Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.
Versi 1.7
Versi 1.7.0-rc01
21 Agustus 2024
androidx.compose.animation:animation-*:1.7.0-rc01
dirilis. Versi 1.7.0-rc01 berisi commit ini.
Versi 1.7.0-beta07
7 Agustus 2024
androidx.compose.animation:animation-*:1.7.0-beta07
dirilis. Versi 1.7.0-beta07 berisi commit ini.
Perbaikan Bug
- Memperbaiki
SharedTransitionScope
yang tidak menggambar item overlay selama transisi dalam kondisi tertentu, yang biasanya akan mencakup penggunaan dengan Navigasi. (Id65ab, b/347520198)
Versi 1.7.0-beta06
24 Juli 2024
androidx.compose.animation:animation-*:1.7.0-beta06
dirilis. Versi 1.7.0-beta06 berisi commit ini.
Perbaikan Bug
- Memperbaiki
SeekableTransition
yang membocorkan status transisi dengan membersihkan pengamatan dariSnapshotStateObserver
secara benar saat transisi dibuang. (b9c7182) - Memperbaiki kasus ekstrem saat Transisi turunan tidak ditandai dengan benar sebagai selesai saat induk selesai. (dc42216)
Versi 1.7.0-beta05
10 Juli 2024
androidx.compose.animation:animation-*:1.7.0-beta05
dirilis. Versi 1.7.0-beta05 berisi commit ini.
Perbaikan Bug
- Properti Transisi
totalDurationNanos
kini dapat dibaca dengan benar dalamsnapshotFlow
.
Versi 1.7.0-beta04
26 Juni 2024
androidx.compose.animation:animation-*:1.7.0-beta04
dirilis. Versi 1.7.0-beta04 berisi commit ini.
Versi 1.7.0-beta03
12 Juni 2024
androidx.compose.animation:animation-*:1.7.0-beta03
dirilis. Versi 1.7.0-beta03 berisi commit ini.
Versi 1.7.0-beta02
29 Mei 2024
androidx.compose.animation:animation-*:1.7.0-beta02
dirilis. Versi 1.7.0-beta02 berisi commit ini.
Versi 1.7.0-beta01
14 Mei 2024
androidx.compose.animation:animation-*:1.7.0-beta01
dirilis. Versi 1.7.0-beta01 berisi commit ini.
Perubahan API
resizeModes
baru (ScaleToBounds
danRemeasureToBounds
) untuksharedBounds
yang dapat dipilih antara penskalaan dan pengukuran ulang.scaleIn/OutSharedContentToBounds
API sebelumnya kini tidak digunakan lagi. (I0d41a)
Kontribusi Eksternal
SharedTransitionScope
eksperimental kini merupakan antarmuka, bukan class. (Iaf856, b/338415048, b/338414702)
Versi 1.7.0-alpha08
1 Mei 2024
androidx.compose.animation:animation-*:1.7.0-alpha08
dirilis. Versi 1.7.0-alpha08 berisi commit ini.
Perubahan API
LookaheadScope
API telah dibuat stabil. (I21507)
Kontribusi Eksternal
- Waktu animasi start yang jelas setelah
SeekableTransitionState
dianimasikan/dipaskan oleh Steven Schoen (1ca89529)
Versi 1.7.0-alpha07
17 April 2024
androidx.compose.animation:animation-*:1.7.0-alpha07
dirilis. Versi 1.7.0-alpha07 berisi commit ini.
Fitur Baru
- API transisi elemen bersama yang baru menunggu penggunaan dan masukan Anda. API eksperimental baru ini memungkinkan pemberian tag pada tata letak seperti yang dibagikan di seluruh hierarki tata letak menggunakan pengubah yang disediakan, menghasilkan batas yang berubah dengan lancar saat satu kumpulan konten bersama keluar dan kumpulan lainnya masuk. (Icb0b9)
scaleInSharedContentToBounds
danscaleOutSharedContentToBounds
baru untuk menskalakan konten disharedBounds
(I731c1)
Perubahan API
AnimatedVisibilityScope.transition
kini menjadi API stabil.Modifier.animateEnterExit(..)
juga telah dibuat stabil. (I6c1d1)ApproachLayoutModifierNode
danModifier.approachLayout
kini stabil, denganisMeasurementApproachInProgress()
danisPlacementApproachInProgress()
baru untuk menggantikanisMeasurementApproachComplete()
danisPlacementApproachComplete()
lama.- Menghapus penggubah
intermediateLayout
yang tidak digunakan lagi. (I3e91c) - Anda kini dapat meneruskan nilai
periodicBias
(Float) kekeyframesWithSpline
, ini akan membuat kecepatan awal dan akhir spline sama. Berguna untuk animasi yang dapat diulang menggunakan spline. Bias menunjukkan seberapa besar setiap kecepatan (awal dan akhir) dimodifikasi untuk mencapai periodisitas. (Ic1e6c, b/292114811)
Perbaikan Bug
- Memperbaiki kurva easing over-shooting dan under-shooting yang sebelumnya dibulatkan ke 0..1 (I38747)
Versi 1.7.0-alpha06
3 April 2024
androidx.compose.animation:animation-*:1.7.0-alpha06
dirilis. Versi 1.7.0-alpha06 berisi commit ini.
Fitur Baru
- Dukungan animasi kemunculan dan hilangnya item telah ditambahkan ke
LazyColumn
danLazyRow
. Sebelumnya, pengubahModifier.animateItemPlacement()
dapat ditambahkan untuk mendukung penempatan (pengurutan ulang) animasi. Kami tidak lagi menggunakan pengubah ini dan memperkenalkan pengubah non-eksperimental baru yang disebutModifier.animateItem()
, yang memungkinkan Anda mendukung ketiga jenis animasi: penampilan (fade in), menghilang (fade out), dan pengurutan ulang. (I2d7f7, b/330152398, b/150812265)
Perbaikan Bug
- Peningkatan performa
updateTransition
API.
Versi 1.7.0-alpha05
20 Maret 2024
androidx.compose.animation:animation-*:1.7.0-alpha05
dirilis. Versi 1.7.0-alpha05 berisi commit ini.
Perubahan API
SeekableTransitionState
menggantikansnapTo()
denganseekTo()
, dan menambahkansnapTo()
yang langsung mengubah status ke status tujuan tanpa animasi apa pun.
Versi 1.7.0-alpha04
6 Maret 2024
androidx.compose.animation:animation-*:1.7.0-alpha04
dirilis. Versi 1.7.0-alpha04 berisi commit ini.
Perubahan API
- API baru
Path.reverse()
untuk membalikkan arah jalur (I36348)
Versi 1.7.0-alpha03
21 Februari 2024
androidx.compose.animation:animation-*:1.7.0-alpha03
dirilis. Versi 1.7.0-alpha03 berisi commit ini.
Fitur Baru
Modifier.animateContentSize
baru yang menggunakan parameter tambahan untuk perataan konten kustom. (I5623a, b/269803907)DeferredTargetAnimation
Eksperimental baru untuk menganimasikan ukuran, posisi, atau target lainnya yang tidak diketahui selama pembuatan instance. (I60745)
Versi 1.7.0-alpha02
7 Februari 2024
androidx.compose.animation:animation-*:1.7.0-alpha02
dirilis. Versi 1.7.0-alpha02 berisi commit ini.
Perbaikan Bug
- Perbaikan kompatibilitas untuk
KeyframesSpec
. (I2bdf3, b/322214617) - Memperbaiki
Modifier.animateContentSize
yang tidak direset dengan benar saat digunakan dalamLazyList
. (I070512, b/322525716) - Memperbaiki
IllegalStateException
diKeyframesSpec
saat menggunakan stempel waktu di luar rentang. (I341b8, b/322839811)
Versi 1.7.0-alpha01
24 Januari 2024
androidx.compose.animation:animation-*:1.7.0-alpha01
dirilis. Versi 1.7.0-alpha01 berisi commit ini.
Versi 1.6
Versi 1.6.8
12 Juni 2024
androidx.compose.animation:animation-*:1.6.8
dirilis. Versi 1.6.8 berisi commit ini.
Versi 1.6.7
1 Mei 2024
androidx.compose.animation:animation-*:1.6.7
dirilis. Versi 1.6.7 berisi commit ini.
Versi 1.6.6
17 April 2024
androidx.compose.animation:animation-*:1.6.6
dirilis. Tidak ada perubahan sejak rilis sebelumnya
Versi 1.6.5
3 April 2024
androidx.compose.animation:animation-*:1.6.5
dirilis. Versi 1.6.5 berisi commit ini.
Versi 1.6.4
20 Maret 2024
androidx.compose.animation:animation-*:1.6.4
dirilis. Versi 1.6.4 berisi commit ini.
Versi 1.6.3
6 Maret 2024
androidx.compose.animation:animation-*:1.6.3
dirilis. Versi 1.6.3 berisi commit ini.
Versi 1.6.2
21 Februari 2024
androidx.compose.animation:animation-*:1.6.2
dirilis. Versi 1.6.2 berisi commit ini.
Versi 1.6.1
7 Februari 2024
androidx.compose.animation:animation-*:1.6.1
dirilis. Versi 1.6.1 berisi commit ini.
Perbaikan Bug
- Perbaikan kompatibilitas untuk
KeyframesSpec
. (I2bdf3, b/322214617)
Versi 1.6.0
24 Januari 2024
androidx.compose.animation:animation-*:1.6.0
dirilis. Versi 1.6.0 berisi commit ini.
Versi 1.6.0-rc01
10 Januari 2024
androidx.compose.animation:animation-*:1.6.0-rc01
dirilis. Versi 1.6.0-rc01 berisi commit ini.
Versi 1.6.0-beta03
13 Desember 2023
androidx.compose.animation:animation-*:1.6.0-beta03
dirilis. Versi 1.6.0-beta03 berisi commit ini.
Perubahan API
- Menghapus
scaleInToFitContainer
danscaleOutToFitContainer
untuk sementara dariAnimatedContentTransitionScope
karena memerlukan peninjauan ke depan. Fitur ini akan tersedia saat Lookahead diaktifkan secara default atau diikutsertakan dalam rilis mendatang.
Versi 1.6.0-beta02
29 November 2023
androidx.compose.animation:animation-*:1.6.0-beta02
dirilis. Versi 1.6.0-beta02 berisi commit ini.
Versi 1.6.0-beta01
15 November 2023
androidx.compose.animation:animation-*:1.6.0-beta01
dirilis. Versi 1.6.0-beta01 berisi commit ini.
Perubahan API
ExitTransition.Hold
diganti namanya menjadiExitTransition.KeepUntilTransitionsFinished
agar lebih vulgar. (I1c490)- Anda sekarang dapat menggunakan
keyframesWithSpline
untuk menginterpolasi nilai N dimensi apa pun menggunakan spline monoton. Hal ini sangat berguna untuk menginterpolasi nilai posisi sepertiOffset
,IntOffset
,DpOffset
. Ditambahkan sebagai API Eksperimental.
Perbaikan Bug
- Menambahkan dukungan perender untuk Sweep Gradient di
ArcLine
. (I4d5bb) - Terapkan tanda sama dengan dan kode hash untuk
PageSize.Fixed
. (Ie3ede, b/300134276) - Memperbaiki masalah kompatibilitas biner dengan perubahan Inset Jendela. (Iee695)
- Hapus lapisan inti material untuk Chip/Tombol Material3 karena microbenchmark menunjukkan performa yang lebih baik tanpanya. (I55555)
Versi 1.6.0-alpha08
18 Oktober 2023
androidx.compose.animation:animation-*:1.6.0-alpha08
dirilis. Versi 1.6.0-alpha08 berisi commit ini.
Perubahan API
KeyframesSpecConfig#with
tidak digunakan lagi dan digantikan olehKeyframesSpecConfig#using
yang mempertahankan pola builder. (I1d769)
Versi 1.6.0-alpha07
4 Oktober 2023
androidx.compose.animation:animation-*:1.6.0-alpha07
dirilis. Versi 1.6.0-alpha07 berisi commit ini.
Perubahan API
- Tabrows yang Diperbaiki dan Dapat Di-scroll kini memiliki varian Utama dan Sekunder. Ini dipetakan dengan benar ke perilaku warna dan indikator seperti yang ditentukan dalam Material3.
PrimaryScrollableTabRow
danSecondaryScrollableTabRow
sekarang mengekspos status scroll. (Iec8f5, b/260572337)
Versi 1.6.0-alpha06
20 September 2023
androidx.compose.animation:animation-*:1.6.0-alpha06
dirilis. Versi 1.6.0-alpha06 berisi commit ini.
Versi 1.6.0-alpha05
6 September 2023
androidx.compose.animation:animation-*:1.6.0-alpha05
dirilis. Versi 1.6.0-alpha05 berisi commit ini.
Perubahan API
- Menambahkan
PathEasing
untuk memungkinkan jalur arbitrer dipasok ke kurva easing. (Idb4b9)
Versi 1.6.0-alpha04
23 Agustus 2023
androidx.compose.animation:animation-*:1.6.0-alpha04
dirilis. Versi 1.6.0-alpha04 berisi commit ini.
Perubahan API
- Menambahkan
SeekableTransitionState
agar developer dapat mengontrol progres transisi. (I8e69d)
Versi 1.6.0-alpha03
9 Agustus 2023
androidx.compose.animation:animation-*:1.6.0-alpha03
dirilis. Versi 1.6.0-alpha03 berisi commit ini.
Perubahan API
- Jenis transisi masuk/keluar baru yang menskalakan konten berdasarkan ukuran penampung animasi selama proses masuk &keluar animasi keluar.
LookaheadScope
Fungsi dan antarmuka composable kini stabil. (Ifb2ce)
Versi 1.6.0-alpha02
26 Juli 2023
androidx.compose.animation:animation-*:1.6.0-alpha02
dirilis. Versi 1.6.0-alpha02 berisi commit ini.
Perubahan API
ExitTransition.Hold
baru untuk menampilkan konten keluar dalamAnimatedContent
hingga tombol masuk & transisi keluar selesai. (I5984f)- Anotasi tambahan untuk menentukan input yang diizinkan ke composable (I51109)
Versi 1.6.0-alpha01
21 Juni 2023
androidx.compose.animation:animation-*:1.6.0-alpha01
dirilis. Versi 1.6.0-alpha01 berisi commit ini.
Fitur Baru
- Memungkinkan
Modifier.animateContentSize
danAnimatedVisibility
diintegrasikan sepenuhnya ke dalam sistem Lookahead dengan melaporkan ukuran target dalam Lookahead Pass.
Perubahan API
- Properti baru di
IntrinsincMeasureScope
dan penerapannya (misalnya,MeasureScope
) untuk menunjukkan apakah tahap pengukuran saat ini sudah teruji. (I7a812)
Perbaikan Bug
- Menghapus alokasi dari animasi pegas. (Ie9431)
- nama parameter nilai untuk Enum.valueOf diubah (Ia9b89)
- lebih banyak pengecualian yang ditampilkan dari enum valueOf (I818fe)
Versi 1.5
Versi 1.5.4
18 Oktober 2023
androidx.compose.animation:animation-*:1.5.4
dirilis. Versi 1.5.4 berisi commit ini.
Versi 1.5.3
4 Oktober 2023
androidx.compose.animation:animation-*:1.5.3
dirilis. Versi ini tidak memiliki perubahan
Versi 1.5.2
27 September 2023
androidx.compose.animation:animation-*:1.5.2
dirilis. Versi 1.5.2 berisi commit ini.
Versi 1.5.1
6 September 2023
androidx.compose.foundation:foundation-*:1.5.1
dirilis. Versi 1.5.1 berisi commit ini.
Perbaikan Bug
- Memperbaiki kolom teks yang menampilkan keyboard dan dapat diedit saat
readOnly
bernilai benar (true). Selain itu, memperbaiki keyboard yang tidak muncul saatreadOnly
diubah dari true (benar) menjadi false (salah) saat difokuskan. (I34a19, b/246909589)
Versi 1.5.1
6 September 2023
androidx.compose.animation:animation-*:1.5.1
dirilis. Versi 1.5.1 berisi commit ini.
Versi 1.5.0
9 Agustus 2023
androidx.compose.animation:animation-*:1.5.0
dirilis. Versi 1.5.0 berisi commit ini.
Versi 1.5.0-rc01
26 Juli 2023
androidx.compose.animation:animation-*:1.5.0-rc01
dirilis. Versi 1.5.0-rc01 berisi commit ini.
Perbaikan Bug
Memperbaiki masalah saat memanggil
.value
pada jenis status primitif (sepertiMutableIntState
) akan melaporkan peringatan lint dengan perbaikan yang tidak valid. Pemeriksaan ini sekarang akan merekomendasikan migrasi ke properti yang benar. (Iba953, b/287279257)Tersedia pemeriksaan opsional untuk merekomendasikan migrasi panggilan
mutableStateOf()
ke jenis khusus yang sesuai untuk primitif. ID lint-nya adalahAutoboxingStateCreation
. Sebelumnya, pemeriksaan ini diaktifkan secara default untuk semua project. Untuk melihat peringatan ini di editor Android Studio dan output lint project Anda, ubah tingkat keparahannya dari informasi menjadi peringatan (atau yang lebih tinggi) dengan mendeklarasikanwarning "AutoboxingStateCreation"
di dalam konfigurasibuild.gradle
ataubuild.gradle.kts
modul seperti yang ditunjukkan (I34f7e):android { lint { warning "AutoboxingStateCreation" } ... }
Versi 1.5.0-beta03
28 Juni 2023
androidx.compose.animation:animation-*:1.5.0-beta03
dirilis. Versi 1.5.0-beta03 berisi commit ini.
Versi 1.5.0-beta02
7 Juni 2023
androidx.compose.animation:animation-*:1.5.0-beta02
dirilis. Versi 1.5.0-beta02 berisi commit ini.
Versi 1.5.0-beta01
24 Mei 2023
androidx.compose.animation:animation-*:1.5.0-beta01
dirilis. Versi 1.5.0-beta01 berisi commit ini.
Perubahan API
- Menghapus alokasi dalam rekomposisi, animasi warna, dan
AndroidComposeView
(Ib2bfa)
Perbaikan Bug
- Menghapus alokasi dari animasi pegas (Ie9431)
Versi 1.5.0-alpha04
10 Mei 2023
androidx.compose.animation:animation-*:1.5.0-alpha04
dirilis. Versi 1.5.0-alpha04 berisi commit ini.
Perubahan API
ContentKey
kini didukung diAnimatedContent
untuk memungkinkan kontrol lebih besar terkait kapan transisi harus terjadi. (Ic069b)
Versi 1.5.0-alpha03
19 April 2023
androidx.compose.animation:animation-*:1.5.0-alpha03
dirilis. Versi 1.5.0-alpha03 berisi commit ini.
Fitur Baru
- Perilaku default baru untuk
SubcomposeLayout
diLookaheadScope
. Class ini memungkinkanSubcomposeLayouts
yang tidak memiliki slot bersyarat (misalnyaTabRow
,Scaffold
,BoxWithConstraints
, dll.) berfungsi dengan baik dengan animasi lihat ke depan.
Perubahan API
intermediateMeasurePolicy
default baru yang menggunakan kembali kebijakan pengukuran dari Lookahead Pass memungkinkan subjenisSubcomposeLayout
tanpa slot bersyarat sepertiScaffold
,TabRow
, danBoxWithConstraints
berfungsi dengan Lookahead secara default. (Id84c8)- Mengganti nama fungsi infix menjadi
togetherWith
untuk menggabungkan transisi masuk dan keluar.AnimatedContentScope
baru sebagai penerima untuk lambda konten. (Ic39ae)
Versi 1.5.0-alpha02
5 April 2023
androidx.compose.animation:animation-*:1.5.0-alpha02
dirilis. Versi 1.5.0-alpha02 berisi commit ini.
Fitur Baru
- API eksperimental baru untuk mendukung Lookahead di
SubcomposeLayout
. Ini akan memungkinkanSubcomposeLayout
berfungsi dengan baik diLookaheadScope
. Dukungan siap pakai untuk subjenisSubcomposeLayout
tertentu akan segera hadir.
Perubahan API
SubcomposeLayout
API baru yang menggunakan kebijakan pengukuran perantara tambahan untuk menangani logika pengukuran/tata letak selama animasi berbasis arahan. (I017d3)
Versi 1.5.0-alpha01
22 Maret 2023
androidx.compose.animation:animation-*:1.5.0-alpha01
dirilis. Versi 1.5.0-alpha01 berisi commit ini.
Perubahan API
AnimatedContent
API kini stabil.AnimatedContentScope
telah diganti namanya menjadiAnimatedContentTransitionScope
.scaleIn
danscaleOut
kini menjadi API stabil. (Iaf54e)
Versi 1.4
Versi 1.4.3
3 Mei 2023
androidx.compose.animation:animation:1.4.3
, androidx.compose.animation:animation-core:1.4.3
, dan androidx.compose.animation:animation-graphics:1.4.3
dirilis tanpa perubahan (hanya peningkatan versi).
Versi 1.4.2
19 April 2023
androidx.compose.animation:animation:1.4.2
, androidx.compose.animation:animation-core:1.4.2
, dan androidx.compose.animation:animation-graphics:1.4.2
dirilis tanpa perubahan. Versi 1.4.2 berisi commit ini.
Versi 1.4.1
5 April 2023
androidx.compose.animation:animation:1.4.1
, androidx.compose.animation:animation-core:1.4.1
, dan androidx.compose.animation:animation-graphics:1.4.1
dirilis tanpa perubahan. Versi 1.4.1 berisi commit ini.
Versi 1.4.0
22 Maret 2023
androidx.compose.animation:animation:1.4.0
, androidx.compose.animation:animation-core:1.4.0
, dan androidx.compose.animation:animation-graphics:1.4.0
dirilis. Versi 1.4.0 berisi commit ini.
Perubahan penting sejak versi 1.3.0
- Label alat didukung di r
ememberInfiniteTransition
dan semua fungsi ekstensi diInfiniteTransition
dan Transition (mis.InfiniteTransition#animateColor
) (I56ef7)
Versi 1.4.0-rc01
8 Maret 2023
androidx.compose.animation:animation:1.4.0-rc01
, androidx.compose.animation:animation-core:1.4.0-rc01
, dan androidx.compose.animation:animation-graphics:1.4.0-rc01
dirilis tanpa perubahan. Versi 1.4.0-rc01 berisi commit ini.
Versi 1.4.0-beta02
22 Februari 2023
androidx.compose.animation:animation:1.4.0-beta02
, androidx.compose.animation:animation-core:1.4.0-beta02
, dan androidx.compose.animation:animation-graphics:1.4.0-beta02
dirilis tanpa perubahan. Versi 1.4.0-beta02 berisi commit ini.
Versi 1.4.0-beta01
8 Februari 2023
androidx.compose.animation:animation:1.4.0-beta01
, androidx.compose.animation:animation-core:1.4.0-beta01
, dan androidx.compose.animation:animation-graphics:1.4.0-beta01
dirilis tanpa perubahan. Versi 1.4.0-beta01 berisi commit ini.
Versi 1.4.0-alpha05
25 Januari 2023
androidx.compose.animation:animation:1.4.0-alpha05
, androidx.compose.animation:animation-core:1.4.0-alpha05
, dan androidx.compose.animation:animation-graphics:1.4.0-alpha05
dirilis. Versi 1.4.0-alpha05 berisi commit ini.
Perubahan
- Tidak ada perubahan pada library animasi sejak versi alfa terakhir, hanya menambahkan nomor versi
Versi 1.4.0-alpha04
11 Januari 2023
androidx.compose.animation:animation:1.4.0-alpha04
, androidx.compose.animation:animation-core:1.4.0-alpha04
, dan androidx.compose.animation:animation-graphics:1.4.0-alpha04
dirilis. Versi 1.4.0-alpha04 berisi commit ini.
Fitur Baru
- Label alat didukung dalam
rememberInfiniteTransition
dan semua fungsi ekstensi padaInfiniteTransition
danTransition
(misalnyaInfiniteTransition#animateColor
) (I56ef7)
Perubahan API
InfiniteTransition#TransitionAnimationState
danInfiniteTransition#animations
API kini bersifat publik. (I36682)
Versi 1.4.0-alpha03
7 Desember 2022
androidx.compose.animation:animation:1.4.0-alpha03
, androidx.compose.animation:animation-core:1.4.0-alpha03
, dan androidx.compose.animation:animation-graphics:1.4.0-alpha03
dirilis. Versi 1.4.0-alpha03 berisi commit ini.
Perubahan API
- Dalam pengujian UI menggunakan aturan Compose, kontinuasi yang dilanjutkan selama callback
withFrameNanos
tidak akan dikirim hingga semua callback frame selesai berjalan. Hal ini cocok dengan perilaku Compose saat berjalan secara normal. Namun, pengujian yang mengandalkan perilaku lama mungkin gagal. Hal ini hanya akan memengaruhi kode yang memanggilwithFrameNanos
atauwithFrameMillis
secara langsung, dan memiliki logika di luar callback yang diteruskan ke fungsi tersebut yang mungkin perlu dipindahkan di dalam callback. Lihat perubahan pengujian animasi di CL ini untuk contoh. - Menambahkan parameter
onPerformTraversals: (Long) -> Unit
opsional ke konstruktorTestMonotonicFrameClock
dan fungsi factory untuk menjalankan kode setelah callbackwithFrameNanos
, tetapi sebelum melanjutkan coroutine pemanggil. (Idb413, b/254115946, b/222093277, b/255802670) - Parameter baru di
AnimatedContent
untuk label alat (Iebe2d)
Versi 1.4.0-alpha02
9 November 2022
androidx.compose.animation:animation:1.4.0-alpha02
, androidx.compose.animation:animation-core:1.4.0-alpha02
, dan androidx.compose.animation:animation-graphics:1.4.0-alpha02
dirilis. Versi 1.4.0-alpha02 berisi commit ini.
Perubahan API
- Menambahkan
ToolingState
untuk mengizinkan alat mengubah status internal Composable (Ie6614)
Versi 1.4.0-alpha01
24 Oktober 2022
androidx.compose.animation:animation:1.4.0-alpha01
, androidx.compose.animation:animation-core:1.4.0-alpha01
, dan androidx.compose.animation:animation-graphics:1.4.0-alpha01
dirilis. Versi 1.4.0-alpha01 berisi commit ini.
Perbaikan Bug
- Memperbaiki animasi gangguan yang salah di AnimatedContent (b/238662479)
Versi 1.3
Versi 1.3.3
11 Januari 2023
androidx.compose.animation:animation:1.3.3
, androidx.compose.animation:animation-core:1.3.3
, dan androidx.compose.animation:animation-graphics:1.3.3
dirilis. Versi 1.3.3 berisi commit ini.
- Tidak ada perubahan sejak versi 1.3.2.
Versi 1.3.2
7 Desember 2022
androidx.compose.animation:animation:1.3.2
, androidx.compose.animation:animation-core:1.3.2
, dan androidx.compose.animation:animation-graphics:1.3.2
dirilis. Versi 1.3.2 berisi commit ini.
Perbaikan Bug
- Diupdate agar mendukung androidx.compose.ui 1.3.2
Versi 1.3.1
9 November 2022
androidx.compose.animation:animation:1.3.1
, androidx.compose.animation:animation-core:1.3.1
, dan androidx.compose.animation:animation-graphics:1.3.1
dirilis. Versi 1.3.1 berisi commit ini.
Versi 1.3.0
24 Oktober 2022
androidx.compose.animation:animation:1.3.0
, androidx.compose.animation:animation-core:1.3.0
, dan androidx.compose.animation:animation-graphics:1.3.0
dirilis. Versi 1.3.0 berisi commit ini.
Perubahan penting sejak versi 1.2.0
- Kumpulan fungsi easing baru dibuat stabil
Versi 1.3.0-rc01
5 Oktober 2022
androidx.compose.animation:animation:1.3.0-rc01
, androidx.compose.animation:animation-core:1.3.0-rc01
, dan androidx.compose.animation:animation-graphics:1.3.0-rc01
dirilis. Versi 1.3.0-rc01 berisi commit ini.
Versi 1.3.0-beta03
21 September 2022
androidx.compose.animation:animation:1.3.0-beta03
, androidx.compose.animation:animation-core:1.3.0-beta03
, dan androidx.compose.animation:animation-graphics:1.3.0-beta03
dirilis. Versi 1.3.0-beta03 berisi commit ini.
- Tidak ada perubahan sejak versi 1.3.0-beta02.
Versi 1.3.0-beta02
7 September 2022
androidx.compose.animation:animation:1.3.0-beta02
, androidx.compose.animation:animation-core:1.3.0-beta02
, dan androidx.compose.animation:animation-graphics:1.3.0-beta02
dirilis. Versi 1.3.0-beta02 berisi commit ini.
- Menghapus Kotlin.experimental dari opsi compiler karena tidak digunakan lagi
Versi 1.3.0-beta01
24 Agustus 2022
androidx.compose.animation:animation:1.3.0-beta01
, androidx.compose.animation:animation-core:1.3.0-beta01
, dan androidx.compose.animation:animation-graphics:1.3.0-beta01
dirilis. Versi 1.3.0-beta01 berisi commit ini.
Versi 1.3.0-alpha03
10 Agustus 2022
androidx.compose.animation:animation:1.3.0-alpha03
, androidx.compose.animation:animation-core:1.3.0-alpha03
, dan androidx.compose.animation:animation-graphics:1.3.0-alpha03
dirilis. Versi 1.3.0-alpha03 berisi commit ini.
Perubahan API
- Parameter baru di
Crossfade
,animateAsState
, danAnimatable
untuk label alat (Iac08a) - Menambahkan fungsi
atFraction
untuk menentukan keyframe pada pecahan, bukan pada durasi tertentu. (I20c76, b/232059455)
Versi 1.3.0-alpha02
27 Juli 2022
androidx.compose.animation:animation:1.3.0-alpha02
, androidx.compose.animation:animation-core:1.3.0-alpha02
, dan androidx.compose.animation:animation-graphics:1.3.0-alpha02
dirilis. Versi 1.3.0-alpha02 berisi commit ini.
Versi 1.3.0-alpha01
29 Juni 2022
androidx.compose.animation:animation:1.3.0-alpha01
, androidx.compose.animation:animation-core:1.3.0-alpha01
, dan androidx.compose.animation:animation-graphics:1.3.0-alpha01
dirilis. Versi 1.3.0-alpha01 berisi commit ini.
Perubahan API
LookaheadLayout
baru yang mendukung penerusan lookahead sebelum pengukuran/tata letak sebenarnya. Hal ini memungkinkan pra-penghitungan tata letak saat tata letak berubah, serta mengizinkan pengukuran/tata letak pasca-lookahead menggunakan ukuran/posisi yang telah dihitung sebelumnya untuk menganimasikan ukuran dan posisi ke target.SubcomposeLayouts
belum didukung, tetapi akan ada dalam rilis mendatang. (I477f5)
Versi 1.2
Versi 1.2.1
10 Agustus 2022
androidx.compose.animation:animation:1.2.1
, androidx.compose.animation:animation-core:1.2.1
, dan androidx.compose.animation:animation-graphics:1.2.1
dirilis. Versi 1.2.1 berisi commit ini.
Versi 1.2.0
27 Juli 2022
androidx.compose.animation:animation:1.2.0
, androidx.compose.animation:animation-core:1.2.0
, dan androidx.compose.animation:animation-graphics:1.2.0
dirilis. Versi 1.2.0 berisi commit ini.
Perubahan penting sejak 1.1.0
- Animasi Compose sekarang mendukung setelan 'Animator duration scale' dari Opsi Developer.
- Banyak pilihan kurva easing eksperimental baru.
AnimatedImageVector
sekarang mendukungrepeatCount
danrepeatMode
Versi 1.2.0-rc03
29 Juni 2022
androidx.compose.animation:animation:1.2.0-rc03
, androidx.compose.animation:animation-core:1.2.0-rc03
, dan androidx.compose.animation:animation-graphics:1.2.0-rc03
dirilis. Versi 1.2.0-rc03 berisi commit ini.
- Tidak ada perubahan sejak versi 1.2.0-rc02.
Versi 1.2.0-rc02
22 Juni 2022
androidx.compose.animation:animation:1.2.0-rc02
, androidx.compose.animation:animation-core:1.2.0-rc02
, dan androidx.compose.animation:animation-graphics:1.2.0-rc02
dirilis. Versi 1.2.0-rc02 berisi commit ini.
Perbaikan Bug
- Menghapus anotasi
ExperimentalEasingApi
pada fungsi Easing (Ied441)
Versi 1.2.0-rc01
15 Juni 2022
androidx.compose.animation:animation:1.2.0-rc01
, androidx.compose.animation:animation-core:1.2.0-rc01
, dan androidx.compose.animation:animation-graphics:1.2.0-rc01
dirilis. Versi 1.2.0-rc01 berisi commit ini.
Perubahan API
- Antarmuka di library Compose kini dibuat menggunakan metode antarmuka default jdk8 (I5bcf1)
Versi 1.2.0-beta03
1 Juni 2022
androidx.compose.animation:animation:1.2.0-beta03
, androidx.compose.animation:animation-core:1.2.0-beta03
, dan androidx.compose.animation:animation-graphics:1.2.0-beta03
dirilis. Versi 1.2.0-beta03 berisi commit ini.
Perubahan API
- Menambahkan Kurva Easing Eksperimental untuk Animasi (I64a38)
Versi 1.2.0-beta02
18 Mei 2022
androidx.compose.animation:animation:1.2.0-beta02
, androidx.compose.animation:animation-core:1.2.0-beta02
, dan androidx.compose.animation:animation-graphics:1.2.0-beta02
dirilis. Versi 1.2.0-beta02 berisi commit ini.
Versi 1.2.0-beta01
11 Mei 2022
androidx.compose.animation:animation:1.2.0-beta01
, androidx.compose.animation:animation-core:1.2.0-beta01
, dan androidx.compose.animation:animation-graphics:1.2.0-beta01
dirilis. Versi 1.2.0-beta01 berisi commit ini.
- Ini adalah rilis beta pertama 1.2. Tidak ada perubahan sejak versi alfa terakhir.
Versi 1.2.0-alpha08
20 April 2022
androidx.compose.animation:animation:1.2.0-alpha08
, androidx.compose.animation:animation-core:1.2.0-alpha08
, dan androidx.compose.animation:animation-graphics:1.2.0-alpha08
dirilis. Versi 1.2.0-alpha08 berisi commit ini.
Versi 1.2.0-alpha07
6 April 2022
androidx.compose.animation:animation:1.2.0-alpha07
, androidx.compose.animation:animation-core:1.2.0-alpha07
, dan androidx.compose.animation:animation-graphics:1.2.0-alpha07
dirilis. Versi 1.2.0-alpha07 berisi commit ini.
Perubahan API
AnimatedImageVector
kini mendukungrepeatCount
danrepeatMode
(Ia3e75, b/199304067)
Versi 1.2.0-alpha06
23 Maret 2022
androidx.compose.animation:animation:1.2.0-alpha06
, androidx.compose.animation:animation-core:1.2.0-alpha06
, dan androidx.compose.animation:animation-graphics:1.2.0-alpha06
dirilis. Versi 1.2.0-alpha06 berisi commit ini.
Perubahan API
- Mengupdate penguraian vektor drawable untuk mendukung pencerminan otomatis untuk membalik konten
VectorPainter
jika arah tata letak saat ini adalah RTL. (I79cd9, b/185760237)
Perbaikan Bug
- Mengupdate API grafik Vektor untuk menggunakan anotasi composable
@VectorComposable
yang tepat, bukan@UiComposable
(I942bc)
Versi 1.2.0-alpha05
9 Maret 2022
androidx.compose.animation:animation:1.2.0-alpha05
, androidx.compose.animation:animation-core:1.2.0-alpha05
, dan androidx.compose.animation:animation-graphics:1.2.0-alpha05
dirilis. Versi 1.2.0-alpha05 berisi commit ini.
Perubahan API
- Hore! Animasi Compose sekarang mendukung setelan 'Animator duration scale' dari Opsi Developer. (I5a4fc, b/161675988)
Versi 1.2.0-alpha04
23 Februari 2022
androidx.compose.animation:animation:1.2.0-alpha04
, androidx.compose.animation:animation-core:1.2.0-alpha04
, dan androidx.compose.animation:animation-graphics:1.2.0-alpha04
dirilis. Versi 1.2.0-alpha04 berisi commit ini.
Versi 1.2.0-alpha03
9 Februari 2022
androidx.compose.animation:animation:1.2.0-alpha03
, androidx.compose.animation:animation-core:1.2.0-alpha03
, dan androidx.compose.animation:animation-graphics:1.2.0-alpha03
dirilis. Versi 1.2.0-alpha03 berisi commit ini.
Versi 1.2.0-alpha02
26 Januari 2022
androidx.compose.animation:animation:1.2.0-alpha02
, androidx.compose.animation:animation-core:1.2.0-alpha02
, dan androidx.compose.animation:animation-graphics:1.2.0-alpha02
dirilis. Versi 1.2.0-alpha02 berisi commit ini.
Versi 1.2.0-alpha01
12 Januari 2022
androidx.compose.animation:animation:1.2.0-alpha01
, androidx.compose.animation:animation-core:1.2.0-alpha01
, dan androidx.compose.animation:animation-graphics:1.2.0-alpha01
dirilis. Versi 1.2.0-alpha01 berisi commit ini.
Perubahan API
- Gunakan
AnimatedImageVector.animatedVectorResource
sebagai gantianimatedVectorResource
, untuk memuat file resource<animated-vector>
.- Gunakan
rememberAnimatedVectorResource
sebagai gantiAnimatedImageVector#painterFor
untuk merenderAnimatedImageVector
. (I9c300)
- Gunakan
Perbaikan Bug
- Menambahkan metode toString ke Animatable dan AnimationResult. (Icd3a6)
Update Dependensi
- Sekarang bergantung pada Kotlin
1.6.10
.
Versi 1.1
Versi 1.1.1
23 Februari 2022
androidx.compose.animation:animation:1.1.1
, androidx.compose.animation:animation-core:1.1.1
, dan androidx.compose.animation:animation-graphics:1.1.1
dirilis. Versi 1.1.1 berisi commit ini.
Perbaikan Bug
- Memperbaiki
NullPointerException
diandroidx.compose.ui.platform.RenderNodeLayer.updateDisplayList
(aosp/1947059, b/206677462) - Memperbaiki error yang disebabkan oleh konten papan klip saat membaca dari papan klip di Android. (I06020, b/197769306)
- Memperbaiki RTL di
LazyVerticalGrid
(aosp/1931080, b/207510535)
Versi 1.1.0
9 Februari 2022
androidx.compose.animation:animation:1.1.0
, androidx.compose.animation:animation-core:1.1.0
, dan androidx.compose.animation:animation-graphics:1.1.0
dirilis. Versi 1.1.0 berisi commit ini.
Perubahan penting sejak versi 1.0.0
- Dukungan yang stabil untuk Efek overscroll Android 12
- Peningkatan penentuan ukuran target sentuh
- Perhatikan bahwa, sehubungan dengan Compose 1.0, komponen Material akan memperluas ruang tata letaknya untuk memenuhi ukuran target sentuh panduan aksesibilitas Material. Misalnya, target sentuh Button akan diperluas hingga ukuran minimum 48x48 dp, meskipun Anda menyetel ukuran Button menjadi lebih kecil. Tindakan ini akan menyelaraskan Compose Material ke perilaku Komponen Desain Material yang sama, sehingga memberikan perilaku yang konsisten jika Anda menggabungkan View dan Compose. Perubahan ini juga memastikan bahwa saat Anda membuat UI menggunakan komponen Compose Material, persyaratan minimum untuk aksesibilitas target sentuh akan terpenuhi.
- Dukungan yang stabil untuk Navigation Rail
- Menstabilkan sejumlah API yang sebelumnya masih eksperimental
- Dukungan untuk versi Kotlin yang lebih baru
Versi 1.1.0-rc03
26 Januari 2022
androidx.compose.animation:animation:1.1.0-rc03
, androidx.compose.animation:animation-core:1.1.0-rc03
, dan androidx.compose.animation:animation-graphics:1.1.0-rc03
dirilis. Versi 1.1.0-rc03 berisi commit ini.
Perbaikan Bug
- Diupdate agar mendukung Compose Material 1.1.0-rc03
Versi 1.1.0-rc01
15 Desember 2021
androidx.compose.animation:animation:1.1.0-rc01
dan androidx.compose.animation:animation-core:1.1.0-rc01
dirilis. Versi 1.1.0-rc01 berisi commit ini.
Perubahan API
- Gunakan
AnimatedImageVector.animatedVectorResource
sebagai gantianimatedVectorResource
, untuk memuat file resource<animated-vector>
.- Gunakan
rememberAnimatedVectorResource
sebagai gantiAnimatedImageVector#painterFor
untuk merenderAnimatedImageVector
. (I9c300)
- Gunakan
Versi 1.1.0-beta04
1 Desember 2021
androidx.compose.animation:animation:1.1.0-beta04
, androidx.compose.animation:animation-core:1.1.0-beta04
, dan androidx.compose.animation:animation-graphics:1.1.0-beta04
dirilis. Versi 1.1.0-beta04 berisi commit ini.
Fitur Baru
- Diupdate agar kompatibel dengan Kotlin
1.6.0
Versi 1.1.0-beta03
17 November 2021
androidx.compose.animation:animation:1.1.0-beta03
, androidx.compose.animation:animation-core:1.1.0-beta03
, dan androidx.compose.animation:animation-graphics:1.1.0-beta03
dirilis. Versi 1.1.0-beta03 berisi commit ini.
Perubahan API
- Menambahkan pengubah Modifier.onPlaced baru untuk memungkinkan pengamatan terhadap perubahan penempatan. Oleh sebab itu, perubahan tambahan untuk offset pengubah turunan dapat dilakukan berdasarkan perubahan penempatan yang teramati. (I558fd)
Dukungan baru untuk contentKey di Crossfade. ContentKey akan digunakan untuk pemeriksaan kesetaraan oleh sistem animasi. Oleh karena itu, diffing kustom pada state dapat dicapai dengan menetapkan contentKey yang sesuai untuk setiap state.
ContentKey juga akan digunakan sebagai kunci untuk menyimpan & memulihkan konten. (I2e055, b/197907070)
Versi 1.1.0-beta02
3 November 2021
androidx.compose.animation:animation:1.1.0-beta02
, androidx.compose.animation:animation-core:1.1.0-beta02
, dan androidx.compose.animation:animation-graphics:1.1.0-beta02
dirilis. Versi 1.1.0-beta02 berisi commit ini.
Perbaikan Bug
- Animation API baru untuk mendukung alat. Secara khusus, fungsi ini memungkinkan alat untuk memeriksa animasi & konfigurasinya dalam Transisi. (I4116e)
Versi 1.1.0-beta01
27 Oktober 2021
androidx.compose.animation:animation:1.1.0-beta01
, androidx.compose.animation:animation-core:1.1.0-beta01
, dan androidx.compose.animation:animation-graphics:1.1.0-beta01
dirilis. Versi 1.1.0-beta01 berisi commit ini.
Perubahan API
- Animation API baru untuk mendukung alat. Secara khusus, fungsi ini memungkinkan alat untuk memeriksa animasi & konfigurasinya dalam Transisi. (I4116e)
Versi 1.1.0-alpha06
13 Oktober 2021
androidx.compose.animation:animation:1.1.0-alpha06
, androidx.compose.animation:animation-core:1.1.0-alpha06
, dan androidx.compose.animation:animation-graphics:1.1.0-alpha06
dirilis. Versi 1.1.0-alpha06 berisi commit ini.
Versi 1.1.0-alpha05
29 September 2021
androidx.compose.animation:animation:1.1.0-alpha05
, androidx.compose.animation:animation-core:1.1.0-alpha05
, dan androidx.compose.animation:animation-graphics:1.1.0-alpha05
dirilis. Versi 1.1.0-alpha05 berisi commit ini.
Perubahan API
EnterTransition
,ExitTransition
, dan beberapa APIAnimatedVisibility
telah dibuat stabil.MutableTransitionState.isIdle
juga tidak lagi bersifat eksperimental. (I5072d)Perubahan yang dapat menyebabkan gangguan: lambda di setelan factory Enter/ExitTransition telah dipindahkan ke posisi terakhir dalam daftar parameter. (I5072d)
Versi 1.1.0-alpha04
15 September 2021
androidx.compose.animation:animation:1.1.0-alpha04
, androidx.compose.animation:animation-core:1.1.0-alpha04
, dan androidx.compose.animation:animation-graphics:1.1.0-alpha04
dirilis. Versi 1.1.0-alpha04 berisi commit ini.
Versi 1.1.0-alpha03
1 September 2021
androidx.compose.animation:animation:1.1.0-alpha03
, androidx.compose.animation:animation-core:1.1.0-alpha03
, dan androidx.compose.animation:animation-graphics:1.1.0-alpha03
dirilis. Versi 1.1.0-alpha03 berisi commit ini.
Fitur Baru
- Mengupdate Compose
1.1.0-alpha03
agar bergantung pada Kotlin1.5.30
. (I74545)
Versi 1.1.0-alpha02
18 Agustus 2021
androidx.compose.animation:animation:1.1.0-alpha02
, androidx.compose.animation:animation-core:1.1.0-alpha02
, dan androidx.compose.animation:animation-graphics:1.1.0-alpha02
dirilis. Versi 1.1.0-alpha02 berisi commit ini.
Perubahan API
- StartOffset kini didukung dalam repeatable dan infiniteRepeatable, sebagai cara untuk menunda waktu mulai atau mempercepat animasi sebelum animasi dimulai. Offset awal ini tidak akan diulang (Ic679f, b/195079908)
- Transisi Enter/Exit baru untuk skala. Transisi ini dapat digunakan bersama dengan jenis Enter/ExitTransitions lainnya. (I372da, b/191325593)
Versi 1.1.0-alpha01
4 Agustus 2021
androidx.compose.animation:animation:1.1.0-alpha01
, androidx.compose.animation:animation-core:1.1.0-alpha01
, dan androidx.compose.animation:animation-graphics:1.1.0-alpha01
dirilis. Versi 1.1.0-alpha01 berisi commit ini.
Perubahan API
AnimatedImageVector
dan API terkait kini berada dalam modulandroidx.compose.animation:animation-graphics
baru. (I60873)
Perbaikan Bug
- Memindahkan
InfiniteAnimationPolicy
ke :compose:ui (I5eb09, b/160602714)
Versi 1.0
Versi 1.0.5
3 November 2021
androidx.compose.animation:animation:1.0.5
dan androidx.compose.animation:animation-core:1.0.5
dirilis. Versi 1.0.5 berisi commit ini.
Perbaikan Bug
- Memperbaiki instance derivedStateOf pelacakan error. (aosp/1792247)
Versi 1.0.4
13 Oktober 2021
androidx.compose.animation:animation:1.0.4
dan androidx.compose.animation:animation-core:1.0.4
dirilis. Versi 1.0.4 berisi commit ini.
Update Dependensi
- Diupdate agar bergantung pada Kotlin
1.5.31
Versi 1.0.3
29 September 2021
androidx.compose.animation:animation:1.0.3
dan androidx.compose.animation:animation-core:1.0.3
dirilis. Versi 1.0.3 berisi commit ini.
Update Dependensi
- Diupdate agar bergantung pada Kotlin
1.5.30
Versi 1.0.2
1 September 2021
androidx.compose.animation:animation:1.0.2
dan androidx.compose.animation:animation-core:1.0.2
dirilis. Versi 1.0.2 berisi commit berikut ini.
Diupdate untuk mendukung rilis Compose 1.0.2
. Compose 1.0.2
masih kompatibel dengan Kotlin 1.5.21
.
Versi 1.0.1
4 Agustus 2021
androidx.compose.animation:animation:1.0.1
dan androidx.compose.animation:animation-core:1.0.1
dirilis. Versi 1.0.1 berisi commit berikut ini.
Update Dependensi
- Diupdate agar bergantung pada Kotlin
1.5.21
.
Versi 1.0.0
28 Juli 2021
androidx.compose.animation:animation:1.0.0
dan androidx.compose.animation:animation-core:1.0.0
dirilis. Versi 1.0.0 berisi commit ini.
Fitur utama 1.0.0
Ini adalah rilis stabil pertama Compose. Lihat blog Rilis Compose resmi untuk mengetahui detail selengkapnya.
Masalah Umum
Jika menggunakan Android Studio Bumblebee Canary 4 atau AGP
7.1.0-alpha04
/7.1.0-alpha05
, Anda mungkin mengalami error berikut:java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
Untuk memperbaikinya, tingkatkan minSdkVersion Anda sementara waktu ke 24+ di file
build.gradle
. Masalah ini akan diperbaiki di versi Android Studio Bumblebee berikutnya dan AGP7.1
. (b/194289155)
Versi 1.0.0-rc02
14 Juli 2021
androidx.compose.animation:animation:1.0.0-rc02
dan androidx.compose.animation:animation-core:1.0.0-rc02
dirilis. Versi 1.0.0-rc02 berisi commit berikut ini.
Versi 1.0.0-rc01
1 Juli 2021
androidx.compose.animation:animation:1.0.0-rc01
dan androidx.compose.animation:animation-core:1.0.0-rc01
dirilis. Versi 1.0.0-rc01 berisi commit ini.
Perbaikan Bug
- Memindahkan
InfiniteAnimationPolicy
keandroidx.compose.ui:ui
(I5eb09, b/160602714)
Versi 1.0.0-beta09
16 Juni 2021
androidx.compose.animation:animation:1.0.0-beta09
dan androidx.compose.animation:animation-core:1.0.0-beta09
dirilis. Versi 1.0.0-beta09 berisi commit berikut ini.
Perubahan API
- Composable
AnimatedContent
baru. Composable ini mengelola perubahan kontennya menggunakanContentTransform
yang dapat disesuaikan saat konten target baru masuk dan keluar dari konten awal. Kombinasi berbeda dari transisi masuk dan keluar dapat digunakan untuk menghasilkan tampilan dan nuansa yang disesuaikan. Sebagai bagian dari transformasi konten,AnimatedContent
secara otomatis membuat animasi ukurannya agar sesuai dengan konten yang masuk. (I2c3df) ManualFrameClock
dihapus. Jika Anda perlu mengontrol animasi, gunakancomposeTestRule.mainClock
. (I3c3e8, b/189951065)
Aturan Profil yang Ditambahkan
Rilis ini menambahkan aturan profil ke modul Compose berikut (I14ed6):
- androidx.compose.animation
- androidx.compose.animation-core
- androidx.compose.foundation
- androidx.compose.foundation-layout
- androidx.compose.material
- androidx.compose.material-ripple
- androidx.compose.runtime
- androidx.compose.ui
- androidx.compose.ui.geometry
- androidx.compose.ui.graphics
- androidx.compose.ui.text
- androidx.compose.ui.text
- androidx.compose.ui.unit
- androidx.compose.ui.util
Apa itu aturan profil?
Aturan profil untuk library ditentukan dalam file teks
baseline-prof.txt
yang berada disrc/main
atau direktori yang setara. File ini menetapkan aturan per baris. Dalam hal ini, aturan adalah pola untuk pencocokan dengan metode atau class dalam library. Sintaksis untuk aturan ini adalah superset dari format profil ART yang dapat dibaca manusia yang digunakan saat menggunakanadb shell profman --dump-classes-and-methods ...
. Aturan ini menggunakan salah satu dari dua bentuk untuk ditarget, yaitu metode atau class.Aturan metode akan memiliki pola berikut:
<FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
Dan aturan class akan memiliki pola berikut:
<CLASS_DESCRIPTOR>
Di sini,
<FLAGS>
adalah satu atau beberapa karakterH
,S
, danP
untuk menunjukkan apakah metode ini harus ditandai sebagai "Hot", "Startup", atau "Post Startup".<CLASS_DESCRIPTOR>
adalah deskripsi untuk class tempat metode yang ditargetkan berada. Misalnya, classandroidx.compose.runtime.SlotTable
akan memiliki deskripsiLandroidx/compose/runtime/SlotTable;
.<METHOD_SIGNATURE>
adalah tanda tangan metode, dan menyertakan nama, jenis parameter, serta jenis nilai yang ditampilkan metode. Misalnya, metodefun isPlaced(): Boolean
padaLayoutNode
memiliki tanda tanganisPlaced()Z
.Pola ini dapat memiliki karakter pengganti (
**
,*
, dan?
) agar memiliki satu aturan yang mencakup beberapa metode atau class.
Apa fungsi aturan tersebut?
Metode yang memiliki flag
H
menunjukkan bahwa metode ini adalah metode "hot", dan harus dikompilasi sebelumnya.Metode yang memiliki flag
S
menunjukkan bahwa ini adalah metode yang dipanggil saat memulai, dan harus dikompilasi terlebih dahulu untuk menghindari biaya kompilasi dan penafsiran metode tersebut pada waktu mulai.Metode yang memiliki flag
P
menunjukkan bahwa ini adalah metode yang dipanggil setelah memulai.Class yang ada dalam file ini menunjukkan bahwa class digunakan saat memulai dan harus dialokasikan sebelumnya di heap untuk menghindari biaya pemuatan class.
Bagaimana cara kerjanya?
- Library dapat menentukan aturan ini yang akan dikemas dalam artefak AAR. Saat aplikasi kemudian dibuat dengan menyertakan artefak tersebut, aturan ini akan digabung menjadi satu dan aturan yang digabungkan akan digunakan untuk membuat profil ART biner ringkas yang khusus untuk aplikasi. ART kemudian dapat memanfaatkan profil ini jika aplikasi tersebut diinstal di perangkat untuk kompilasi awal subset tertentu dari aplikasi guna meningkatkan performa aplikasi, terutama saat pertama kali dijalankan. Perhatikan bahwa tindakan ini tidak akan berpengaruh pada aplikasi yang dapat di-debug.
Versi 1.0.0-beta08
2 Juni 2021
androidx.compose.animation:animation:1.0.0-beta08
dan androidx.compose.animation:animation-core:1.0.0-beta08
dirilis. Versi 1.0.0-beta08 berisi commit berikut ini.
Perbaikan Bug
- Sekarang
detectDragGesures
,detectVerticalGestures
, dandetectHorizontalGestures
akan otomatis menggunakan perubahan posisi, tidak perlu memanggil change.consumePositionChange dalam callback onDrag (I42fc4, b/185096350, b/187320697) Modifier.onGloballyPositioned()
diubah untuk melaporkan koordinat pengubah ini dalam rantai pengubah, bukan koordinat tata letak setelah menerapkan semua pengubah. Artinya, kini urutan pengubah memengaruhi koordinat yang akan dilaporkan. (Ieb67d, b/177926591)
Versi 1.0.0-beta07
18 Mei 2021
androidx.compose.animation:animation:1.0.0-beta07
dan androidx.compose.animation:animation-core:1.0.0-beta07
dirilis. Versi 1.0.0-beta07 berisi commit berikut ini.
Perubahan API
- API
AnimatedVisibility
baru yang mendukung visibilitas yang akan ditentukan dalamMutableTransitionState
. Ini juga memungkinkan status animasi diamati secara eksternal keAnimatedVisibility
melaluicurrentState
danisIdle
.- Dukungan transisi turunan baru di Transition
- Mendukung animasi transisi keluar/masuk khusus dalam AnimatedVisibility menggunakan AnimationScope.transition
- Pengubah animateEnterExit baru yang dapat diakses untuk semua turunan AnimatedVisibility
- Tidak menggunakan lagi AnimatedVisibility API yang mengambil parameter
initiallyVisible
(I702f3)
Versi 1.0.0-beta06
5 Mei 2021
androidx.compose.animation:animation:1.0.0-beta06
dan androidx.compose.animation:animation-core:1.0.0-beta06
dirilis. Versi 1.0.0-beta06 berisi commit berikut.
Versi 1.0.0-beta05
21 April 2021
androidx.compose.animation:animation:1.0.0-beta05
dan androidx.compose.animation:animation-core:1.0.0-beta05
dirilis. Versi 1.0.0-beta05 berisi commit berikut ini.
Perbaikan Bug
- File AndroidManifest dari ui-test-manifest dan ui-tooling-data kini kompatibel dengan Android 12 (I6f9de, b/184718994)
Versi 1.0.0-beta04
7 April 2021
androidx.compose.animation:animation:1.0.0-beta04
dan androidx.compose.animation:animation-core:1.0.0-beta04
dirilis. Versi 1.0.0-beta04 berisi commit berikut ini.
Perubahan API
- Instance publik
RowScope
,ColumnScope
,BoxScope
,BoxWithConstraintsScope
telah dihapus. (I4e83e, b/181869067)
Versi 1.0.0-beta03
24 Maret 2021
androidx.compose.animation:animation:1.0.0-beta03
dan androidx.compose.animation:animation-core:1.0.0-beta03
dirilis. Versi 1.0.0-beta03 berisi commit berikut ini.
Versi 1.0.0-beta02
10 Maret 2021
androidx.compose.animation:animation:1.0.0-beta02
dan androidx.compose.animation:animation-core:1.0.0-beta02
dirilis. Versi 1.0.0-beta02 berisi commit berikut ini.
Perbaikan Bug
- Menerapkan batasan di penggunaan publik API eksperimental (I6aa29, b/174531520)
Versi 1.0.0-beta01
24 Februari 2021
androidx.compose.animation:animation:1.0.0-beta01
dan androidx.compose.animation:animation-core:1.0.0-beta01
dirilis. Versi 1.0.0-beta01 berisi commit berikut ini.
Ini adalah rilis pertama Compose 1.0.0 Beta.
Perubahan API
InteractionState
telah diganti dengan[Mutable]InteractionSource
- Antarmuka bertanggung jawab untuk mengirimkan/mengumpulkan peristiwa Interaksi.
- Daripada meneruskan
interactionState = remember { InteractionState() }
ke komponen sepertiButton
danModifier.clickable()
, gunakaninteractionSource = remember { MutableInteractionSource() }
. - Sebagai ganti:
Interaction.Pressed in interactionState
Anda sebaiknya menggunakan fungsi ekstensi di InteractionSource, seperti InteractionSource.collectIsPressedAsState(). - Untuk kasus penggunaan yang kompleks, Anda dapat menggunakan InteractionSource.interactions untuk mengamati streaming Interaksi. Lihat dokumentasi InteractionSource dan contoh untuk informasi selengkapnya.
- (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
- Paket metode smoothScrollBy dan scrollBy berubah menjadi
androidx.compose.foundation.gestures.*
(I3f7c1, b/175294473) - Pengubah ukuran telah diganti namanya. Modifier.width/height/size diganti namanya menjadi requiredWidth/requiredHeight/requiredSize. Modifier.preferredWidth/preferredHeight/preferredSize diganti namanya menjadi width/height/size. (I5b414)
- Orientasi telah dipindahkan ke paket dasar. VelocirtTracker dipindahkan dari ui.gesture ke ui.input.pointer. (Iff4a8, b/175294473)
- AnimationClockObservable dan subclass telah dihapus. AnimatedFloat telah dihapus. (Icde52, b/177457083)
- Modifier.draggable kini menerima DraggableState dan bukan lambda sederhana. Anda dapat membuat state melalui
rememberDraggableState { delta -> }
untuk mendapatkan perilaku yang sama seperti sebelumnya (Ica70f, b/175294473) - animate, animasiValue, AnimatedValue API telah dihapus (If27bc, b/177457083)
- AnimationEndReason.Interrupted dihapus. CancellationException akan dilempar jika animasi terhenti. (I2cbbc, b/179695417)
- TargetAnimation API telah dihapus. (If47d1, b/177457083)
Versi 1.0.0-alpha12
10 Februari 2021
androidx.compose.animation:animation:1.0.0-alpha12
dan androidx.compose.animation:animation-core:1.0.0-alpha12
dirilis. Versi 1.0.0-alpha12 berisi commit berikut ini.
Perubahan API
Modifier.pointerInput
sekarang mengharuskan kunci remember untuk menunjukkan kapan coroutine deteksi input pointer harus dimulai ulang untuk dependensi baru. (I849cd)- Bounds telah diganti namanya menjadi DpRect (I4b32a)
- Menggabungkan nama parameter untuk AnimationSpec ke animationSpec di seluruh sistem animasi. Juga membatasi Enter/ExitTransition untuk menerima FiniteAnimationSpec. (Ie47c5, b/177457083)
- Animatable.snapTo dan Animatable.stop sekarang menangguhkan fungsi (If4288)
- Sama seperti saat kami menghapus composable
state { 0 }
dan kini mempromosikan penggunaan sepertiremember { mutableStateOf(0) }
, kami juga akan menghapus composablesavedInstanceState { 0 }
. Sebagai gantinya, Anda harus menggunakanrememberSaveable { mutableStateOf(0) }
dan tindakan ini akan disimpan dan otomatis dipulihkan jika jenis yang digunakan dalam MutableState dapat disimpan di Bundle. Jika sebelumnya Anda meneruskan objek saver kustom, sekarang Anda harus menggunakan overload rememberSaveable baru yang memiliki parameterstateSaver
. Penggunaannya akan terlihat seperti ini:val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) }
(Ib4c26, b/177338004) - Memperbarui tanda tangan metode Crossfade agar lebih konsisten dengan sistem animasi lainnya. (Ib05ed, b/177457083)
- rememberSavedInstanceState() telah diganti namanya menjadi rememberSaveable() dan dipindahkan ke paket androidx.compose.runtime.saveable. (I1366e, b/177338004)
- RestorableStateHolder diganti namanya menjadi SaveableStateHolder dan dipindahkan ke paket androidx.compose.runtime.saveable. Metode internal RestorableStateProvider diganti namanya menjadi SaveableStateProvider. Jenis umum telah dihapus agar Anda dapat meneruskan Any sebagai kunci. Anotasi eksperimental tidak diperlukan lagi. (I0902e, b/174598702)
- Mengupdate Modifier.animateContentSize API agar konsisten dengan sistem animasi lainnya. (I0bf75, b/177457083)
- AnimatedValue/Float sekarang tidak digunakan lagi. Sebagai gantinya, gunakan Animatable. (I71345, b/177457083)
- tapGestureFilter, doubleTapGestureFilter, longPressGestureFilter, dan pressIndicaitonGestureFilter tidak digunakan lagi. Sebagai gantinya, gunakan Modifier.clickable atau Modifier.pointerInput dengan fungsi detectTapGestures. (I6baf9, b/175294473)
- Memperkenalkan elemen konteks coroutine
InfiniteAnimationPolicy
yang akan diimplementasikan dalam animasi tak terbatas. Secara default tidak ada kebijakan yang diinstal, kecuali saat menjalankan pengujian denganComposeTestRule
. (I50ec4, b/151940543) - Metode penguraian dan copy() telah dihapus dari beberapa class yang jarang digunakan. (I26702, b/178659281)
- Waktu putar dalam animasi sekarang digabungkan menjadi nanodetik (If776a)
- Artefak compose:runtime-dispatch sekarang tidak digunakan lagi. MonotonicFrameClock sekarang dapat ditemukan di compose:runtime dan AndroidUiDispatcher dapat ditemukan di compose:ui. (Ib5c36)
- Menambahkan
Animation.isInfinite
danVectorizedAnimationSpec.isInfinite
yang memberi sinyal apakah animasi bersifat tak terbatas atau tidak. Ini dapat digunakan dalam implementasi animasi agar memiliki penanganan khusus untuk animasi semacam itu. Misalnya, pesan khusus "sisa waktu" dapat ditampilkan. Atau selama pengujian, animasi dapat dibatalkan untuk membatasi proses menunggu tanpa ada aktivitas. (Iebb05, b/151940543) - Gunakan Long, bukan Uptime, sebagai jenis waktu animasi (Ie3aa7, b/177420019)
Versi 1.0.0-alpha11
28 Januari 2021
androidx.compose.animation:animation:1.0.0-alpha11
dan androidx.compose.animation:animation-core:1.0.0-alpha11
dirilis. Versi 1.0.0-alpha11 berisi commit berikut ini.
Perubahan API
- Transition berbasis TransitionDefinition sudah tidak digunakan lagi (I0ac57)
- Kolom label ditambahkan untuk Transition dan animasi turunan yang akan ditampilkan di alat (I619fb)
- animateAsState sekarang menjadi animateFooAsState dengan Foo merupakan jenis variabel yang dianimasikan. misalnya, Float, Dp, Offset, dll. (Ie7e25)
- InfiniteTransition baru yang menjalankan sejumlah animasi turunan. (I1da81)
- Mengubah antarmuka parameter stateful Material agar memiliki fungsi @Composable yang menampilkan
State<T>
. Menambahkan Animatable.asState() untuk mempermudah mengonversi Animatable menjadi State. Selain itu, mengubah juga animateElevation menjadi ekstensi yang ditangguhkan di Animatable. (If613c)
Perbaikan Bug
- onCommit, onDispos, dan onActive sudah tidak digunakan lagi dan digantikan dengan API SideEffect dan DisposableEffect (If760e)
- State awal di updateTransition sekarang didukung (Ifd51d)
- Parameter deskripsi konten telah ditambahkan ke Image dan Icon. Digunakan untuk memberikan deskripsi ke layanan aksesibilitas (I2ac4c)
- invalidate dan compositionReference() sekarang tidak digunakan lagi dan masing-masing telah digantikan dengan currentRecomposeScope dan rememberCompositionReference. (I583a8)
- Duration dan Uptime akan diganti dengan milidetik Long, dan langkah ini akan menghapus dependensi input pointer di class tersebut. (Ia33b2, b/175142755, b/177420019)
- clickable, toggleable, and selectable sekarang bisa dibuat di luar komposisi (I0a130, b/172938345, b/175294473)
- Easing telah diubah menjadi antarmuka fungsional (Ib14e5)
- Metode factory
items(count: Int)
baru untuk cakupan LazyColumn/LazyRow/LasVerticalGrid.items(items: List)
danitemsIndexed(items: List)
kini merupakan fungsi ekstensi sehingga Anda harus mengimpornya secara manual saat digunakan. Kelebihan ekstensi baru untuk Array: items(items: Array) dan itemsIndexed(Array) (I803fc, b/175562574) - Memanfaatkan TestCoroutineDispatcher dalam pengujian (I532b6)
- Menghapus PointerInputData dan mengubah PointerInputChange untuk mendapatkan semua kolom PointerInputData. Membuat PointerInputEvent dan PointerInputEventData internal karena tidak digunakan di API publik mana pun. (Ifff97, b/175142755)
Versi 1.0.0-alpha10
13 Januari 2021
androidx.compose.animation:animation:1.0.0-alpha10
dan androidx.compose.animation:animation-core:1.0.0-alpha10
dirilis. Versi 1.0.0-alpha10 berisi commit berikut ini.
Perubahan API
- Mengubah Velocity agar memiliki bagian komponen dan operasi matematika. (Ib0447)
- Mengganti nama
@ExperimentalTesting
menjadi@ExperimentalTestApi
agar konsisten dengan anotasi API eksperimental yang serupa (Ia4502, b/171464963) - Mengganti nama Position menjadi DpOffset dan menghapus getDistance() (Ib2dfd)
- Menghapus API publik Any.identityHashCode() (I025d7)
Perbaikan Bug
Animatable
API baru berbasis coroutine yang memastikan pengalaman eksklusif di antara animasinya. DecayAnimationSpec baru untuk mendukung animasi peluruhan multi-dimensi (I820f2, b/168014930)animate()
sekarang diganti dengananimateAsState()
, yang menampilkanState<T>
, bukanT
. Hal ini memungkinkan performa yang lebih baik, karena cakupan pembatalan validasi dapat dipersempit ke tempat nilai State dibaca. (Ib179e)
Versi 1.0.0-alpha09
16 Desember 2020
androidx.compose.animation:animation:1.0.0-alpha09
dan androidx.compose.animation:animation-core:1.0.0-alpha09
dirilis. Versi 1.0.0-alpha09 berisi commit berikut ini.
Perubahan API
- Memindahkan Dp.VectorConverter, Position.VectorConverter, dll. ke animation-core dan tidak menggunakan lagi VectorConveters lama (If0c4b)
- Memperkenalkan rangkaian baru Transition API dengan kemudahan penggunaan yang ditingkatkan, serta dukungan untuk animasi yang ditambahkan secara dinamis dan target animasi yang dihitung secara dinamis. API ini ditandai eksperimental agar mudah dibedakan dengan API berbasis TransitionDefinition. (Ia7fe3)
Perbaikan Bug
- Lambda pada pengubah offset kini menampilkan IntOffset, bukan Float. (Ic9ee5, b/174137212, b/174146755)
- Menghentikan penggunaan LazyColumnFor, LazyRowFor, LazyColumnForIndexed, dan LazyRowForIndexed. Gunakan LazyColumn dan LazyRow sebagai gantinya (I5b48c)
- Untuk API input pointer yang ditangguhkan, HandlePointerInputScope diganti namanya menjadi AwaitPointerEventScope dan handlePointerInput() diganti namanya menjadi awaitPointerEventScope(). (Idf0a1, b/175142755)
- Fungsi infiniteRepeatable untuk membuat InfiniteRepeatableSpec (I668e5)
- Menghapus anotasi ExperimentalPointerInput (Ia7a24)
Versi 1.0.0-alpha08
2 Desember 2020
androidx.compose.animation:animation:1.0.0-alpha08
dan androidx.compose.animation:animation-core:1.0.0-alpha08
dirilis. Versi 1.0.0-alpha08 berisi commit berikut ini.
Perubahan API
- Menambahkan pemeriksaan lint untuk penamaan dan posisi parameter lambda yang dapat dikomposisi, untuk memeriksa apakah konsisten dengan panduan Compose.
Selain itu, memigrasikan beberapa API menggunakan
children
sebagai nama untuk lambda akhirnya kecontent
, sesuai dengan pemeriksaan lint dan panduan. (Iec48e) - API yang Tidak Digunakan Sebelumnya telah dihapus:
Modifier.onPositioned
telah dihapus, gunakanModifier.onGloballyPositioned
.Modifier.onDraw
telah dihapus, gunakanModifier.onDrawBehind
.Modifier.plus
telah dihapus, gunakanModifier.then
.Color.Unset
telah dihapus, gunakanColor.Unspecified
.- Class
PxBounds
dihapus dan sebagai gantinya gunakanRect
. - (Ie9d02, b/172562222)
- Menambahkan opsi untuk sementara agar TestAnimationClock dapat didorong oleh MonotonicFrameClock (I1403b, b/173402197)
Perbaikan Bug
- Mengganti nama Modifier.drawLayer menjadi Modifier.graphicsLayer Juga mengupdate class terkait ke GraphicsLayer sesuai masukan dari dewan API. (I0bd29, b/173834241)
- Menambahkan Modifier.scale/rotate
API agar memudahkan drawLayer.
- Mengganti nama Modifier.drawOpacity menjadi Modifier.alpha
- Mengganti nama Modifier.drawShadow menjadi Modifier.shadow (I264ca, b/173208140)
- Membuat kolom waktu beroperasi dan posisi PointerInputData non-nullable. (Id468a)
- Nama pengubah offsetPx diganti menjadi offset. Pengubah tersebut kini mengambil parameter lambda, bukan State. (Ic3021, b/173594846)
- API baru untuk menjalankan animasi dalam coroutine (Ied662)
- Ambient yang tidak digunakan lagi dinamai dengan
Ambient
sebagai akhirannya, dan menggantinya dengan properti baru yang diawali dengan Ambient, mengikuti pedoman Ambients dan Compose API lainnya. (I33440) - Kontrol waktu dalam pengujian (TestAnimationClock dan penggunaannya) kini bersifat eksperimental (I6ef86, b/171378521)
- Menghapus modul ui-test lama dan stub-nya (I3a7cb)
- Fungsi
RestorableStateHolder.withRestorableState
diganti namanya menjadiRestorableStateProvider
(I66640) - Antarmuka Alignment telah diperbarui dan berfungsi. (I46a07, b/172311734)
Versi 1.0.0-alpha07
11 November 2020
androidx.compose.animation:animation:1.0.0-alpha07
dan androidx.compose.animation:animation-core:1.0.0-alpha07
dirilis. Versi 1.0.0-alpha07 berisi commit berikut ini.
Perbaikan Bug
- AmbientTextStyle, ProvideTextStyle, dan AmbientContentColor dasar tidak digunakan lagi. Sebagai gantinya, gunakan versi baru yang tersedia di library Material. Untuk aplikasi non-Material, Anda harus membuat ambient tema khusus sistem desain sendiri yang dapat dipakai dalam komponen sendiri. (I74acc, b/172067770)
- foundation.Text sudah tidak digunakan lagi dan diganti dengan material.Text. Untuk API teks dasar tidak terkonfigurasi yang tidak memakai nilai dari tema, lihat androidx.compose.foundation.BasicText. (If64cb)
- MeasureResult dikeluarkan dari MeasureScope. (Ibf96d, b/171184002)
- Beberapa simbol terkait tata letak dipindahkan dari androidx.compose.ui ke androidx.compose.layout.ui. (I0fa98, b/170475424)
Versi 1.0.0-alpha06
28 Oktober 2020
androidx.compose.animation:animation:1.0.0-alpha06
dan androidx.compose.animation:animation-core:1.0.0-alpha06
dirilis. Versi 1.0.0-alpha06 berisi commit berikut ini.
Perubahan API
- Mengaktifkan transisi di ComposeTestRule; menghapus opsi untuk mengaktifkan kursor yang berkedip dari ComposeTestRule. (If0de3)
Versi 1.0.0-alpha05
14 Oktober 2020
androidx.compose.animation:animation:1.0.0-alpha05
dan androidx.compose.animation:animation-core:1.0.0-alpha05
dirilis. Versi 1.0.0-alpha05 berisi commit ini.
Perubahan API
- Antarmuka dan subclass Animasi Baru: Class ini menyimpan kondisi awal dan akhir untuk animasi sehingga nilai yang diizinkan dan kecepatan dapat dikueri hanya melalui waktu putar (Ie95bd, b/163329867)
Perbaikan Bug
- OnPositionedModifier diganti nama menjadi OnGloballyPositionedModifier dan onPositioned() diganti nama menjadi onGloballyPositioned(). (I587e8, b/169083903)
Tidak lagi menggunakan API contentColor() dan currentTextStyle(), dan menggantinya masing-masing dengan ambient AmbientContentColor dan AmbientTextStyle. Anda dapat mengakses nilai saat ini dengan menggunakan
.current
di properti ambient, seperti dengan ambient lainnya. Perubahan ini dilakukan demi konsistensi dan untuk menghindari banyaknya cara untuk menyelesaikan hal yang sama. Selain itu, mengganti nama properti ambient tertentu untuk mendeskripsikan tujuannya dengan lebih baik sebagai berikut:- ContentColorAmbient -> AmbientContentColor
- TextStyleAmbient -> AmbientTextStyle
- IndicationAmbient -> AmbientIndication
- EmphasisAmbient -> AmbientEmphasisLevels
- RippleThemeAmbient -> AmbientRippleTheme (I37b6d)
Version 1.0.0-alpha04
1 Oktober 2020
androidx.compose.animation:animation:1.0.0-alpha04
dan androidx.compose.animation:animation-core:1.0.0-alpha04
dirilis. Versi 1.0.0-alpha04 berisi commit berikut ini.
Perubahan API
- Menganotasi rootAnimationClockFactory, transitionsEnabled, blinkingCursorEnabled dan textInputServiceFactory dengan @VisibleForTesting, menjadikannya API internal dan menyembunyikan kdoc (I554eb, b/168308412)
Perbaikan Bug
- Mengupdate banyak Graphics API
- Mengupdate API transformasi skala dan rotasi untuk menggunakan parameter Offset tunggal guna mewakili koordinat pivot, bukan parameter float terpisah untuk koordinat x/y di DrawScope dan DrawTransform
- Menghapus metode Rect.expandToInclude dan Rect.join
- Memperbarui dokumentasi Radius untuk menetapkan oval, selain eliptis
- Menambahkan dokumentasi yang menunjukkan bahwa konstruktor publik untuk class Radius inline tidak akan dipanggil secara langsung, tetapi objek Radius harus dibuat instance-nya melalui konstruktor fungsinya
- Menghapus RoundRect API untuk mengkueri topRight, bottomRight, bottomCenter, dll.
- Rect.shift tidak digunakan lagi dan digantikan dengan Rect.translate
- Menghapus API RoundRect.grow dan Rect.shrink
- Mengganti nama RoundRect.outerRect menjadi Rect.boundingRect
- Menghapus metode RoundRect.middleRect/tallMiddleRect/wideMiddleRect dan Rect.isStadium
- Mengganti nama RoundRect.longestSide menjadi RoundRect.maxDimension
- Mengganti nama RoundRect.shortestSide menjadi RoundRect.minDimension
- Mengubah RoundRect.center menjadi properti, bukan fungsi
- Mengupdate konstruktor RoundRect untuk menggunakan properti Radius, bukan parameter individual untuk nilai radius x/y
- Menghapus Size API yang mengasumsikan sebagai Rectangle dengan asal pada 0,0
- Menambahkan API penghancuran ke Radius
- Memigrasikan berbagai fungsi ekstensi RoundRect sebagai properti
- (I8f5c7, b/168762961)
- foundation.Box sudah tidak digunakan lagi. Sebagai gantinya, gunakan foundation.layout.Box. (Ie5950, b/167680279)
- Stack diganti namanya menjadi Box. Box yang sudah ada sebelumnya tidak akan digunakan lagi sebagai ganti Box baru di compose.foundation.layout. Perilaku Box baru adalah untuk menumpuk turunan satu per satu jika ada beberapa turunan - ini berbeda dari Box sebelumnya, yang berperilaku mirip dengan Column. (I94893, b/167680279)
- Parameter dekorasi box tidak digunakan lagi. Jika Anda ingin memiliki dekorasi/padding di box, gunakan Pengubah (Modifier.background, Modifier.border, Modifier.padding) (Ibae92, b/167680279)
- Kami mencegah impor statis konten dari cakupan tata letak (misalnya, alignWithSiblings di RowScope). Sebagai gantinya, alternatif cakupan eksplisit harus digunakan:
with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }
. (I216be, b/166760797)
Versi 1.0.0-alpha03
16 September 2020
androidx.compose.animation:animation:1.0.0-alpha03
dan androidx.compose.animation:animation-core:1.0.0-alpha03
dirilis. Versi 1.0.0-alpha03 berisi commit ini.
Perbaikan Bug
- Penggunaan gravitasi secara konsisten diganti namanya menjadi align atau alignment dalam API tata letak. (I2421a, b/164077038)
Versi 1.0.0-alpha02
2 September 2020
androidx.compose.animation:animation:1.0.0-alpha02
dan androidx.compose.animation:animation-core:1.0.0-alpha02
dirilis. Versi 1.0.0-alpha02 berisi commit ini.
Perubahan API
Menambahkan
ManualFrameClock.hasAwaiters
untuk melihat apakah ada yang menunggu frame dari jam tersebut;runWithManualClock
sebagai penggantirunBlocking
saat menjalankan pengujian yang memerlukan ManualFrameClock;TestUiDispatcher.Main
yang memberikan akses mudah ke dispatcher UI utama dalam pengujian Anda.Contoh:
@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") } }
Perbaikan Bug
onPreCommit sudah tidak digunakan lagi; onCommit kini memiliki perilaku onPreCommit.
onCommit dan onActive kini dijalankan dalam frame choreographer yang sama dengan tempat perubahan komposisi dilakukan, bukan di awal frame choreographer berikutnya. (I70403)
Versi 1.0.0-alpha01
26 Agustus 2020
androidx.compose.animation:animation:1.0.0-alpha01
dan androidx.compose.animation:animation-core:1.0.0-alpha01
dirilis. Versi 1.0.0-alpha01 berisi commit ini.
Versi 0.1.0-dev
Versi 0.1.0-dev17
19 Agustus 2020
androidx.compose.animation:animation:0.1.0-dev17
dan androidx.compose.animation:animation-core:0.1.0-dev17
dirilis. Versi 0.1.0-dev17 berisi commit berikut ini.
Fitur Baru
Perubahan API
- Offset telah menjadi class inline (Iaec70)
- IntOffset kini menjadi class inline (Iac0bf)
- IntSize kini menjadi class inline (I2bf42)
Composable AnimatedVisibilty membuat animasi muncul dan menghilang untuk konten turunan.
EnterTransition dan ExitTransition diperkenalkan agar berfungsi dengan composable AnimatedVisibilty untuk memberikan 3 jenis animasi muncul dan menghilang: memudarkan, menggeser, dan meluaskan/menciutkan konten. Berbagai jenis animasi dapat digabungkan untuk mendapatkan tampilan dan nuansa yang lebih tajam. (Idda11)
Menghentikan penggunaan PxBounds untuk digantikan Rect. Memperbarui semua penggunaan PxBounds dengan Rect dan menambahkan penghentian/penggantian yang benar dengan anotasi untuk membantu migrasi. (I37038, b/162627058)
Perbaikan Bug
PlacementScope.placeAbsolute()
diganti namanya menjadiPlacementScope.place()
, danPlacementScope.place()
sebelumnya diganti namanya menjadiPlacementScope.placeRelative()
. Akibatnya, metodePlacementScope.place()
tidak akan lagi secara otomatis mencerminkan posisi dalam konteks kanan-ke-kiri. Jika menginginkannya, gunakan sajaPlacementScope.placeRelative()
. (I873ac, b/162916675)state { ... }
yang dapat dikomposisi kini tidak lagi digunakan agar panggilan eksplisit keremember { mutableStateOf(...) }
menjadi lebih jelas. Ini mengurangi keseluruhan tampilan API dan jumlah konsep untuk pengelolaan status, serta mencocokkan polaby mutableStateOf()
untuk delegasi properti class. (Ia5727)
Versi 0.1.0-dev16
5 Agustus 2020
androidx.compose.animation:animation:0.1.0-dev16
dan androidx.compose.animation:animation-core:0.1.0-dev16
dirilis. Versi 0.1.0-dev16 berisi commit berikut ini.
Perubahan API
- Pengonversi vektor bawaan untuk mengonversi
unit bawaan kini dapat diakses melalui
Foo.VectorConverter
. misalnya,Dp.VectorConverter
,Color.VectorConverter
,Float.VectorConverter
, dll. (I3e273) - Mendukung pemroses akhir di
Modifier.animateContentSize()
sehingga saat animasi perubahan ukuran selesai, pemroses akan diberi tahu, bersama dengan ukuran awal/akhir animasi. (I277b2) - Pengubah animateContentSize baru yang menganimasikan perubahan ukuran tata letak pengubah turunannya (Ieffdc)
Menambahkan
MonotonicFrameAnimationClock
yang memungkinkan Anda menggunakan MonotonicFrameClock sebagaiAnimationClockObservable
untuk menutup kesenjangan antara jam berbasis coroutine baru dan API yang masih menggunakan jam berbasis callback lama.MonotonicFrameClock
yang setara denganManualAnimationClock
sekarang adalahManualFrameClock
. (I111c7, b/161247083)
Perbaikan Bug
- API untuk dukungan dari kanan ke kiri telah diupdate. Menambahkan LayoutDirectionAmbient yang bisa digunakan untuk membaca dan mengubah arah tata letak. Modifier.rtl dan Modifier.ltr telah dihapus. (I080b3)
- Memerlukan jenis T agar ditentukan secara eksplisit untuk transitionDefinition. (I1aded)
- Paket foundation.shape.corner diratakan menjadi foundation.share (I46491, b/161887429)
- Modifier.plus tidak digunakan lagi. Sebagai gantinya, gunakan Modifier.then. 'Then' memiliki sinyal pengurutan yang lebih kuat, serta melarang pengetikan
Modifier.padding().background() + anotherModifier
yang memutus rantai dan lebih sulit dibaca (Iedd58, b/161529964) - Nama Modifier.drawBackground telah diganti menjadi Modifier.background (I13677)
Versi 0.1.0-dev15
22 Juli 2020
androidx.compose.animation:animation:0.1.0-dev15
dan androidx.compose.animation:animation-core:0.1.0-dev15
dirilis. Versi 0.1.0-dev15 berisi commit berikut ini.
Update Dependensi
- Untuk menggunakan Compose versi
0.1.0-dev15
, Anda harus mengupdate dependensi sesuai dengan cuplikan kode baru yang ditampilkan di atas dalam Mendeklarasikan dependensi.
Perubahan API
- Transition API telah diubah untuk menampilkan TransitionState, bukan meneruskan TransitionState ke turunan. Hal ini membuat API lebih konsisten dengan API animate(). (I24e38)
- Parameter pengubah ditambahkan untuk Crossfade (I87cfe, b/159706180)
- Gunakan AnimationSpec dan bukan AnimationBuilder di API level teratas
untuk memperjelas konsep spesifikasi animasi statis
- Meningkatkan kualitas DSL transisi dengan menghapus persyaratan lambda untuk membuat AnimationSpecs seperti hitung nilai dan efek pegas. Sebaliknya, API mengambil parameter konstruktor secara langsung.
- Meningkatkan kemudahan penggunaan AnimationSpec secara keseluruhan yang membuka konstruktor, bukan mengandalkan builder
- Mengubah durasi dan keterlambatan untuk KeyFrames dan Tween menjadi Int. Tindakan ini menghilangkan tipe transmisi yang tidak perlu dan overloading metode (untuk mendukung Long dan Int). (Ica0b4)
- Mengganti penggunaan IntPx dengan Int. Mengganti IntPxPosition dengan IntOffset. Mengganti IntPxSize dengan IntSize. (Ib7b44)
- Untuk menggabungkan jumlah class yang digunakan untuk menyatakan informasi pengubahan ukuran, standarkan penggunaan class Size, bukan PxSize. Tindakan ini memberikan manfaat dari class inline untuk menggunakan 2 nilai float yang panjang untuk dipaketkan untuk menyatakan lebar dan tinggi yang dinyatakan sebagai float. (Ic0191)
- Untuk menggabungkan jumlah class yang digunakan untuk menyatakan informasi positioning, standarkan penggunaan class Offset, bukan PxPosition. Tindakan ini memberikan manfaat dari class inline untuk menggunakan 2 nilai float yang panjang untuk dipaketkan untuk menyatakan offset x dan y yang dinyatakan sebagai float. (I3ad98)
- Mengganti penggunaan class Px dalam berbagai class compose sebagai bagian dari upaya pemfaktoran ulang yang besar-besaran agar hanya mengandalkan jenis primitif dan Dp untuk parameter piksel (I086f4)
- Menambahkan dukungan animate() untuk Dp, Px, Size, Position, Bounds, PxPosition, PxSize, PxBounds, IntPx, IntPxSize, IntPxPosition, IntPxBounds, dan AnimationVector (Ib7518)
- Kini Crossfade menerima parameter AnimationBuilder opsional untuk memungkinkan konfigurasi animasi (I6d6e0)
- Mengganti semua penggunaan Color nullable di API dengan non-nullable dan menggunakan Color.Unset, bukan null (Iabaa7)
- Menghapus class ValueHolder. Menyusun ulang class AnimatedValue, AnimatedFloat untuk
membuat kolom nilai animasi menjadi abstrak sehingga subclass dapat menonton pembaruan nilai.
- Menambahkan class model untuk AnimatedValue, AnimatedFloat, dll.
- Menambahkan set baru @Composable API ringan untuk menganimasikan di antara nilai. (I79530)
- Perubahan yang dapat menyebabkan gangguan pada API ambien. Lihat log dan dokumentasi
Ambient<T>
untuk detail selengkapnya (I4c7ee, b/143769776) - Mode pengulangan baru: Reverse. Mode ini membalikkan iterasi sebelumnya saat animasi berulang di RepeatableSpec atau VectorizedRepeatableSpec. (Ibe0f5)
- Penambahan API ke ManualAnimationClock:
hasObservers: Boolean
dan parameter konstruktordispatchOnSubscribe: Boolean
(Iaa134) - Menambahkan API untuk mendapatkan batas minimum/maksimum di AnimatedFloat (Icd9cc)
Perbaikan Bug
runOnIdleCompose
diganti namanya menjadirunOnIdle
(I83607)- Beberapa nama API pengujian diganti menjadi lebih intuitif. Semua nama API findXYZ diganti menjadi onNodeXYZ. Semua nama API doXYZ diganti menjadi performXYZ. (I7f164)
- Memperkenalkan API animasi stateless tingkat rendah. API ini (I63bf7)
- Composable Recompose tidak lagi menjadi abstraksi yang berguna. Sebagian besar rekomposisi harus terjadi sebagai hasil penugasan MutableState. Untuk hal-hal selain itu, sebaiknya Anda menggunakan fungsi
invalidate
untuk memicu rekomposisi cakupan saat ini. (Ifc992) - Mengganti penggunaan class Px di berbagai class compose sebagai bagian dari upaya pemfaktoran ulang besar-besaran agar hanya mengandalkan jenis primitif dan Dp untuk parameter piksel. Menghapus class Px secara keseluruhan (I3ff33)
- Mengganti penggunaan class Px di berbagai class compose sebagai bagian dari upaya pemfaktoran ulang besar-besaran agar hanya mengandalkan jenis primitif dan Dp untuk parameter piksel (Id3434)
- Kini Crossfade dapat berfungsi dengan null sebagai nilai awal (Iad6a4, b/155947711)
- Mengganti penggunaan class Px di berbagai class compose sebagai bagian dari upaya pemfaktoran ulang besar-besaran agar hanya mengandalkan jenis primitif dan Dp untuk parameter piksel (I19d02)
- Menggabungkan implementasi CanvasScope sehingga hanya terdapat DrawScope dan ContentDrawScope Mengganti nama CanvasScope ke DrawScope. Mengupdate DrawScope untuk menerapkan antarmuka Density dan menyediakan LayoutDirection. Menghapus subclass DrawScope di ContentDrawScope. Painter dan PainterModifier telah diupdate untuk tidak lagi mempertahankan properti RTL sendiri karena DrawScope menyediakan ini tanpa menyediakannya secara manual (I1798e)
- Mengupdate API compose dengan level yang lebih tinggi yang mengekspos Canvas untuk mengekspos CanvasScope. Tindakan ini akan menghapus keperluan konsumen untuk mengelola objek Paint-nya. Bagi konsumen yang masih memerlukan akses ke Canvas, mereka dapat menggunakan metode ekstensi drawCanvas yang menyediakan callback untuk mengeluarkan perintah menggambar menggunakan Canvas yang mendasarinya. (I80afd)
- Menambahkan parameter verticalGravity dan horizontalGravity ke Row dan Column. (I7dc5a)
- Nama modul ui-text diganti menjadi ui-text-core (I57dec)
- Meningkatkan DrawModifier API:
- Membuat cakupan penerima untuk draw() ContentDrawScope
- Menghapus semua parameter pada draw()
- DrawScope memiliki antarmuka yang sama dengan CanvasScope
- ContentDrawScope memiliki metode drawContent() (Ibaced, b/152919067)
- Sekarang
runOnIdleCompose
danrunOnUiThread
menjadi fungsi global, bukan metode di ComposeTestRule. (Icbe8f) - Operator delegasi properti [Mutable]State dipindahkan ke ekstensi
untuk mendukung pengoptimalan delegasi properti Kotlin 1.4. Pemanggil harus menambahkan
impor untuk terus menggunakan
by state { ... }
atauby mutableStateOf(...)
. (I5312c) - ColoredRect tidak digunakan lagi. Sebagai gantinya, gunakan
Box(Modifier.preferredSize(width, height).drawBackground(color))
. (I499fa, b/152753731) - Mengganti operator Modifier plus dengan fungsi ekstensi factory (I225e4)
- Menghentikan penggunaan composable Center. Center ini harus diganti baik dengan pengubah LayoutSize.Fill + LayoutAlign.Center maupun dengan salah satu composable Box atau Stack dengan pengubah yang sesuai diterapkan (Idf5e0)
- Mengganti nama LayoutFlexible menjadi LayoutWeight. Mengganti nama parameter tight menjadi fill. (If4738)
- Fungsi yang dapat dikomposisi Opacity telah diganti dengan pengubah drawOpacity. (I5fb62)
- Sekarang pengujian yang menggunakan AndroidComposeTestRule menyediakan jam animasi pada root komposisi yang memungkinkannya untuk dijeda, dilanjutkan, dan dilanjutkan secara manual. (Id54c5)
- Mendukung arah kanan-ke-kiri dalam pengubah LayoutPadding (I9e8da)
- Density dan DensityScope telah digabungkan dalam satu antarmuka. Sebagai ganti ambientDensity(), sekarang Anda dapat menggunakan DensityAmbient.current. Sebagai ganti withDensity(density), gunakan with(density) (I11cb1)
- Menambahkan metode penyalinan ke berbagai
jenis class inline, termasuk:
- Offset
- Size
- Radius
- Motion
- TransformOrigin
- Metode objek pengiring Size.copy sudah tidak digunakan lagi untuk mendukung metode penyalinan instance (Ife290, b/159905651)
- androidx.compose.ViewComposer telah dipindahkan ke androidx.ui.node.UiComposer
androidx.compose.Emittable telah dihapus. Berlebihan dengan ComponentNode.
androidx.compose.ViewAdapters telah dihapus. Kasus penggunaannya sudah tidak didukung.
Compose.composeInto sudah tidak digunakan lagi. Sebagai gantinya, gunakan
setContent
atausetViewContent
. Compose.disposeComposition sudah tidak digunakan lagi. Sebagai gantinya, gunakan metodedispose
padaComposition
yang ditampilkan olehsetContent
. androidx.compose.Compose.subcomposeInto telah dipindahkan ke androidx.ui.core.subcomposeInto Nama ComponentNode#emitInsertAt telah diganti menjadi ComponentNode#insertAt Nama ComponentNode#emitRemoveAt telah diganti menjadi ComponentNode#removeAt Nama ComponentNode#emitMode telah diganti menjadi ComponentNode#move (Idef00)