Adaptif Compose Material 3
Update Terbaru | Rilis Stabil | Kandidat Rilis | Rilis Beta | Rilis Alfa |
---|---|---|---|---|
2 Juli 2025 | 1.1.0 | - | - | 1.2.0-alpha08 |
Mendeklarasikan dependensi
Untuk menambahkan dependensi pada compose, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk mengetahui informasi selengkapnya.
Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle
bagi aplikasi atau modul Anda:
Groovy
dependencies { implementation "androidx.compose.material3.adaptive:adaptive:1.2.0-alpha08" implementation "androidx.compose.material3.adaptive:adaptive-layout:1.2.0-alpha08" implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.2.0-alpha08" }
Kotlin
dependencies { implementation("androidx.compose.material3.adaptive:adaptive:1.2.0-alpha08") implementation "androidx.compose.material3.adaptive:adaptive-layout:1.2.0-alpha08" implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.2.0-alpha08" }
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.
Compose Material3 Adaptif Versi 1.2
Versi 1.2.0-alpha08
2 Juli 2025
androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha08
dirilis. Versi 1.2.0-alpha08 berisi commit ini.
Versi 1.2.0-alpha07
18 Juni 2025
androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha07
dirilis. Versi 1.2.0-alpha07 berisi commit ini.
Perubahan API
- Membuat fungsi
currentWindowAdaptiveInfo()
mendukung class ukuran lebar jendela besar dan sangat besar serta mempromosikan fungsicalculatePosture()
dancurrentWindowDpSize()
ke stabil. (I92e97)
Versi 1.2.0-alpha06
20 Mei 2025
androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha06
dirilis. Versi 1.2.0-alpha06 berisi commit ini.
Fitur Baru
- Fungsi penghitungan direktif scaffold panel default kini mendukung class ukuran lebar jendela L dan XL.
Perubahan API
- Membuat
Modifier.paneExpansionDraggable
menyediakan semantik aksesibilitas default dan mempromosikan API yang relevan ke stabil. (Idb818) - Mendukung tarik untuk mengubah ukuran dengan panel yang mengambang (Idadd3)
- Mendukung layar penutup untuk panel yang diangkat (I9b091)
Versi 1.2.0-alpha05
7 Mei 2025
androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha05
dirilis. Versi 1.2.0-alpha05 berisi commit ini.
Fitur Baru
- Tata letak adaptif Material3 kini mendukung strategi adaptasi Levitated yang dapat mengubah panel menjadi pop-up mengambang.
Perubahan API
- Membuat fungsi ukuran jendela saat ini mendukung multiplatform (Ie4172)
- Memperkenalkan gerakan panel untuk panel yang diangkat (Ic9dc3)
- Memperkenalkan strategi levitasi untuk adaptasi (I1ba7c)
Perbaikan Bug
- Memperbaiki penggunaan cakupan coroutine dalam contoh adaptif (7631016)
Versi 1.2.0-alpha04
23 April 2025
androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha04
dirilis. Versi 1.2.0-alpha04 berisi commit ini.
Fitur Baru
- Strategi penataan ulang kini tersedia dengan
ListDetailPaneScaffold
danSupportingPaneScaffold
, yang menata ulang panel terkait dalam setelan tata letak satu panel.
Perubahan API
- Menambahkan penampung status yang dapat disimpan ke
PaneScaffoldScope
(Id9299) - Memperkenalkan strategi penataan ulang untuk adaptasi (I75c6a)
Perbaikan Bug
- Memperbaiki bug yang menyebabkan panel tidak beranimasi dalam transisi pertama. (Ib0415)
- Memperbaiki tinggi pilihan yang tidak berfungsi. (I1913b)
- Memperbaiki bug yang menyebabkan direktif scaffold tidak diperbarui dengan benar. (0403ab)
Versi 1.2.0-alpha03
9 April 2025
androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha03
dirilis. Versi 1.2.0-alpha03 berisi commit ini.
Perbaikan Bug
- Memperbaiki tampilan tuas tarik yang salah pada tata letak panel tunggal. (806e443 )
Update Dependensi
- Library ini kini menargetkan tingkat bahasa Kotlin 2.0 dan memerlukan KGP 2.0.0 atau yang lebih baru. (Idb6b5)
Versi 1.2.0-alpha02
26 Maret 2025
androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha02
dirilis. Versi 1.2.0-alpha02 berisi commit ini.
Versi 1.2.0-alpha01
12 Maret 2025
androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha01
dirilis. Versi 1.2.0-alpha01 berisi commit ini.
Perubahan API
- Memperkenalkan pengubah
PaneScaffoldScope.preferredHeight
bagi developer untuk memberikan tinggi pilihan panel yang akan diterapkan dengan strategi penyesuaian baru yang akan kami perkenalkan. (I957dd, b/220960090) - Mengganti nama jenis
ComponentOverride
menjadiOverride
, dan jenisComponentOverrideContext
menjadiOverrideScope
. (Id973c) - Mengganti nama beberapa metode penggantian komponen. (I222b3)
Compose Material3 Adaptif Versi 1.1
Versi 1.1.0
12 Maret 2025
androidx.compose.material3.adaptive:adaptive-*:1.1.0
dirilis. Versi 1.1.0 berisi commit ini.
Perubahan penting sejak versi 1.0.0
ListDetailPaneScaffold
danSupportingPaneScaffold
kini mendukung fitur perluasan panel - pengguna dapat menarik untuk mengubah pemisahan panel default tata letak panel ganda, dan developer juga dapat mengubah pemisahan panel saat runtime dengan mengubahPaneExpansionState
yang baru diperkenalkan.- Dukungan kembali prediktif default kini tersedia dengan
NavigableListDetailPaneScaffold
danNavigableSupportingPaneScaffold
. Anda juga dapat menggunakanThreePaneScaffoldPredictiveBackHandler
untuk memberikan dukungan kembali prediktif dengan implementasi scaffold tiga panel Anda sendiri. - Anda kini dapat menyesuaikan gerakan panel selama peralihan panel dengan memberikan
EnterTransition
danExitTransition
yang berbeda keAnimatedPane
.
Versi 1.1.0-rc01
26 Februari 2025
androidx.compose.material3.adaptive:adaptive-*:1.1.0-rc01
dirilis. Versi 1.1.0-rc01 berisi commit ini.
Perbaikan Bug
- Menonaktifkan skala kembali prediktif scaffold tiga panel (ab6fd0b)
Versi 1.1.0-beta02
12 Februari 2025
androidx.compose.material3.adaptive:adaptive-*:1.1.0-beta02
dirilis. Versi 1.1.0-beta02 berisi commit ini.
Perubahan API
- Mengubah cara
isPredictiveBackInProgress
ditetapkan dalam fungsi animasiMutableThreePaneScaffoldState
untuk mempertahankan konsistensi status. (Idc97f)
Perbaikan Bug
- Perilaku kembali default
NavigableListDetailPaneScaffold
danNavigableSupportingPaneScaffold
telah diubah menjadiPopUntilScaffoldValueChange
agar konsisten dengan library lainnya. (I873f0) - Menetapkan urutan penelusuran aksesibilitas yang benar pada scaffold panel. (67d030)
- Memperbaiki masalah status konten panel tidak disimpan. (88b0ff)
- Mendukung tindakan aksesibilitas alternatif sebagai pengganti penarikan. (28266d)
- Mengumumkan pemisahan panel saat ini setelah diubah. (0c3a80)
Versi 1.1.0-beta01
29 Januari 2025
androidx.compose.material3.adaptive:adaptive-*:1.1.0-beta01
dirilis. Versi 1.1.0-beta01 berisi commit ini.
Perubahan API
- Memperkenalkan fungsi factory untuk membuat anchor perluasan panel jenis offset dari awal dan akhir. (I2eb21)
- Menutup antarmuka
PaneMotion
dan menghapus metode transisi defaultnya. (Ifc4c7) - Memperkenalkan API untuk mendapatkan anchor saat ini dan menganimasikan ke anchor. (Icf95d)
- Memperkenalkan API aksesibilitas untuk perluasan panel (Icc669)
- Ubah jenis
PaneScaffoldParentData.preferredWidth
menjadi DP. (Id98ee)
Versi 1.1.0-alpha09
15 Januari 2025
androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha09
dirilis. Versi 1.1.0-alpha09 berisi commit ini.
Perubahan API
- Menambahkan dan menggunakan anotasi eksperimental baru
ExperimentalMaterial3AdaptiveComponentOverrideApi
. (Id45aa) - Sembunyikan
ThreePaneScaffoldHorizontalOrder.toLtrOrder
. (I6f8d2) ThreePaneScaffoldPredictiveBackHandler
telah dipublikasikan. (I1a995, b/370543873)- Menambahkan properti
isPredictiveBackInProgress
keThreePaneScaffoldState
. (I1a995, b/370543873) - Buat mekanisme penggantian untuk
AnimatedPane
guna mendukung penerapan sideloading untuk berbagai faktor bentuk. (Id7622)
Perbaikan Bug
- Memperbaiki masalah saat arah penyesuaian tidak memiliki anchor. (df8257d)
Versi 1.1.0-alpha08
12 Desember 2024
androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha08
dirilis. Versi 1.1.0-alpha08 berisi commit ini.
Perubahan API
- Memperkenalkan fungsi
currentWindowDpSize
. (I99125, b/296300441) - Mengekspos
PaneScaffoldParentData
danThreePaneScaffoldHorizontalOrder.toLtrOrder()
(I2d6b7) - Hapus
PaneScaffoldMotionScope
dan ubah menjadi kolom di bagianPaneScaffoldTransitionScope
. Ubah juga namanya menjadiPaneScaffoldMotionDataProvider
dan hapus akses ke struktur data dasar PaneMotionData. Sebagai gantinya, berikan metode getter dan looping untuk mengakses data. (Id8884) - Buat mekanisme penggantian untuk
ThreePaneScaffold
guna mendukung penerapan sideloading untuk berbagai faktor bentuk. (I5280f) - Membuat status perluasan panel menjadi null secara default (Ia65f8, b/376394520)
Versi 1.1.0-alpha07
13 November 2024
androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha07
dirilis. Versi 1.1.0-alpha07 berisi commit ini.
Perubahan API
- Menghapus penerapan tuas tarik di library adaptif dan mendorong orang untuk menggunakan versi M3. Pada saat yang sama, perkenalkan pengubah untuk memberikan kemampuan penarikan perluasan panel ke composable handel tarik yang disediakan. Sembunyikan juga
DraggableState
sebagai detail implementasi sehingga kita dapat mengubahnya nanti jika diperlukan. (Ib50cd) - Memindahkan titik entri penyesuaian gerakan panel dari fungsi scaffold ke
AnimatedPane
sesuai dengan masukan UXR. (I10f72) - Memperkenalkan dukungan fling dan spesifikasi animasi kustom untuk perluasan panel. (Ie207d, b/362584341)
Perbaikan Bug
- Memperbaiki masalah kembali prediktif saat pembatalan. (36a3e0a), (b/369899645)
Versi 1.1.0-alpha06
30 Oktober 2024
androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha06
dirilis. Versi 1.1.0-alpha06 berisi commit ini.
Perubahan API
- Menambahkan
FloatRange
kePaneScaffoldTransitionScope.motionProgress
. (Iac0dd) - Ubah jenis parameter navigator menjadi jenis generik di scaffold yang dapat dijelajahi. (I1da6e)
Versi 1.1.0-alpha05
16 Oktober 2024
androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha05
dirilis. Versi 1.1.0-alpha05 berisi commit ini.
Perubahan API
- Memperkenalkan class spesifikasi animasi untuk memastikan perilaku gerakan yang lebih konsisten dan kemampuan perluasan di masa mendatang. (I2d3cc)
- Berikan jenis gerakan dan ganti nama currentXXXXX di
PaneMotionData
menjadi originXXXX. (I7c61a)
Versi 1.1.0-alpha04
2 Oktober 2024
androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha04
dirilis. Versi 1.1.0-alpha04 berisi commit ini.
Fitur Baru
- Menambahkan dukungan kembali prediktif ke
NavigableListDetailPaneScaffold
danNavigableSupportingPaneScaffold
. (I4dc21, b/359616816)
Perubahan API
- Menambahkan
ThreePaneScaffoldState
keThreePaneScaffoldNavigator
. Metode navigasi telah dibuatsuspend
untuk mendukung navigasi dengan animasi. MenambahkanseekBack
untuk mendukung status navigasi parsial (misalnya, kembali prediktif). (I5a651, b/359616816) - Menambahkan
MutableThreePaneScaffoldState
untuk mengontrol transisi antara nilai scaffold.ThreePaneScaffoldState
yang ada telah dibuat hanya baca. (Idb3c6) - Mengekspos implementasi gerakan panel default (I95a7b)
- Mengaktifkan penyetelan penahan awal status perluasan panel (Ie41b3, b/362350560)
Perbaikan Bug
- Menerapkan ukuran target sentuh minimum 48x48 dp pada tuas tarik (7ce6635, b/366018217)
- Memulihkan posisi yang ditambatkan setelah perubahan konfigurasi (3c9fc6b, b/362353672)
Versi 1.1.0-alpha03
18 September 2024
androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha03
dirilis. Versi 1.1.0-alpha03 berisi commit ini.
Versi 1.1.0-alpha02
4 September 2024
androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha02
dirilis. Versi 1.1.0-alpha02 berisi commit ini.
Fitur Baru
- Penyesuaian gerakan (I0bf9c), (I80e66) didukung bagi pembuat untuk mengubah gerakan default selama perubahan status scaffold adaptif. Pembuat dapat memilih dari serangkaian transisi masuk dan keluar default, atau menerapkan transisi kustom murni dengan info yang diberikan melalui cakupan gerakan baru.
- Menerapkan animasi memudar pada handel geser perluasan panel (46e3c69)
- Menjadikan
PaneExpansionState
tersimpan dapat Disimpan (61ff76f)
Perubahan API
- Menambahkan API perluasan panel yang tidak ada ke scaffold (Ic5bc0)
- Mengganti nama
ThreePaneScaffoldDestinationItem.content
menjadicontentKey
. Argumen jenis defaultrememberListDetailPaneScaffoldNavigator
danrememberSupportingPaneScaffoldNavigator
diubah dariNothing
menjadiAny
. (I58749) - Menandai
ThreePaneScaffoldState
sebagai stabil (I64aec) - Membuat parameter tuas tarik dalam cakupan (Ic0aa2)
Versi 1.1.0-alpha01
21 Agustus 2024
androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha01
dirilis. Versi 1.1.0-alpha01 berisi commit ini.
Fitur Baru
- Memperkenalkan dukungan perluasan panel pada scaffold adaptif.
Perubahan API
- Memperkenalkan API perluasan panel kepada publik (I301d6)
- Memperkenalkan
ThreePaneScaffoldState
untuk mengontrol transisi nilai panel. Menambahkan overloadListDetailPaneScaffold
danSupportingPaneScaffold
yang menerima status ini. (I5db3b) - Memperkenalkan tombol perluasan panel dan antarmuka penyedia tombol (Id621f)
Perbaikan Bug
- Memperbaiki perhitungan partisi yang salah saat engsel yang dikecualikan ada. (9dfd483)
Compose Material3 Adaptif Versi 1.0
Versi 1.0.0
4 September 2024
androidx.compose.material3.adaptive:adaptive-*:1.0.0
dirilis. Versi 1.0.0 berisi commit ini.
Fitur utama 1.0.0
- Fungsi composable satu baris
currentWindowSize()
,collectFoldingFeaturesAsState()
, dancurrentWindowAdaptiveInfo()
untuk mendapatkan info jendela yang diperlukan guna mengadaptasi aplikasi, seperti ukuran jendela dan fitur pelipatan. ListDetailPaneScaffold
danSupportingPaneScaffold
untuk menyediakan dua tata letak kanonis Material3 yang akan menyesuaikan diri secara otomatis sesuai dengan konfigurasi jendela yang berbeda. Kedua kerangka tersebut juga dapat disesuaikan sepenuhnya agar sesuai dengan berbagai kebutuhan pembuat.ThreePaneScaffoldNavigator
dan fungsi remember yang relevan,rememberListDetailPaneScaffoldNavigator()
danrememberSupportingPaneScaffoldNavigator()
untuk memberikan solusi navigasi dalam scaffold adaptif, yang dapat menampilkan beberapa tujuan navigasi secara bersamaan, dibandingkan dengan penyiapan satu tujuan dalam satu waktu yang umum di dunia non-adaptif.- Animasi Material3 bawaan default saat mengubah status scaffold adaptif.
Versi 1.0.0-rc01
21 Agustus 2024
androidx.compose.material3.adaptive:adaptive-*:1.0.0-rc01
dirilis. Versi 1.0.0-rc01 berisi commit ini.
Perbaikan Bug
- Memperbaiki perhitungan partisi yang salah saat engsel yang dikecualikan ada. (9dfd483)
Versi 1.0.0-beta04
26 Juni 2024
androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta04
dirilis. Versi 1.0.0-beta04 berisi commit ini.
Perbaikan Bug
- Memperbaiki masalah yang menyebabkan tata letak tidak diperbarui dengan tepat saat batas engsel diperbarui. (71e9cf1)
Versi 1.0.0-beta03
12 Juni 2024
androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta03
dirilis. Versi 1.0.0-beta03 berisi commit ini.
Perbaikan Bug
- Memperbaiki error yang disebabkan oleh penyelesaian dependensi yang salah di beta02.
Versi 1.0.0-beta02
29 Mei 2024
androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta02
dirilis. Versi 1.0.0-beta02 berisi commit ini.
Versi 1.0.0-beta01
14 Mei 2024
androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta01
dirilis. Versi 1.0.0-beta01 berisi commit ini.
Versi 1.0.0-alpha12
1 Mei 2024
androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha12
dirilis. Versi 1.0.0-alpha12 berisi commit ini.
Perubahan API
- Menambahkan info
isFlat
keHingeInfo
(Ie0516, b/333784198) - Menjadikan API adaptif tidak bersifat eksperimental (I1d038)
- Membuat API tata letak adaptif menjadi non-eksperimental (Id23df)
- Mengubah
BackNavigationBehavior
dari enum menjadi class nilai (Id8757)
Perbaikan Bug
- Ubah fraksi transisi menjadi lambda (I6f5a9)
- Memperbaiki masalah status awal
SizeTracker
(18326a9) - Menyertakan daftar engsel dalam pemeriksaan kesamaan
Posture
(6687137)
Versi 1.0.0-alpha11
17 April 2024
androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha11
dirilis. Versi 1.0.0-alpha11 berisi commit ini.
Perubahan API
- Buat antarmuka cakupan tertutup. (Iefa57)
- Memperkenalkan
AnimatedPaneScope
. (I62d73, b/332750742) - Pastikan
AdaptStrategy
tertutup rapat dan stabil. (Ia28b2) - Memperkenalkan metode penyalinan
PaneScaffoldDirective
. (I9291f) - Menandai
ThreePaneScaffoldScope
sebagai eksperimental. (I9d527) - Menyediakan API kerangka yang mudah digunakan yang mendukung navigasi. (I263f0, b/321010778)
Versi 1.0.0-alpha10
3 April 2024
androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha10
dirilis. Versi 1.0.0-alpha10 berisi commit ini.
Perubahan API
- Menjadikan lebar pilihan default adaptif dan dapat disesuaikan. (Ic3abc)
- Ganti nama fungsi penghitungan direktif kerangka. (I10855)
- Menghapus padding dan inset dari API scaffold. (I786f8)
- Menambahkan metode mengingat navigator tanpa jenis generik. (I607c3)
Versi 1.0.0-alpha09
20 Maret 2024
androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha09
dirilis. Versi 1.0.0-alpha09 berisi commit ini.
Perubahan API
- Tambahkan kolom transisi status ke
ThreePaneScaffoldScope
. (I3d917) - Mengurutkan ulang parameter kerangka. (I4dff5)
- Menyediakan nilai default parameter pengubah
AnimatedPane
. (I77dd7)
Perbaikan Bug
- Sertakan ukuran pengatur jarak ke dalam gerakan panel. (a3174ca)
Versi 1.0.0-alpha08
6 Maret 2024
androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha08
dirilis. Versi 1.0.0-alpha08 berisi commit ini.
Fitur Baru
- Menerapkan geser masuk yang tertunda saat beralih panel. (I1a38e)
Perubahan API
- Menghapus antarmuka
ThreePaneScaffoldState
. (I63f23)
Versi 1.0.0-alpha07
21 Februari 2024