Adaptif Compose Material 3

  
Gunakan library adaptif Material 3 untuk membuat UI adaptif yang akan menyesuaikan diri secara otomatis sesuai dengan konfigurasi jendela saat ini seperti class ukuran jendela atau postur perangkat. Library ini menyediakan penerapan scaffold default dan composable elemen penyusun yang diperlukan untuk membuat pengalaman kustom Anda sendiri.
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.

Laporkan masalah baru

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 fungsi calculatePosture() dan currentWindowDpSize() 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 dan SupportingPaneScaffold, 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 menjadi Override, dan jenis ComponentOverrideContext menjadi OverrideScope. (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

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 animasi MutableThreePaneScaffoldState untuk mempertahankan konsistensi status. (Idc97f)

Perbaikan Bug

  • Perilaku kembali default NavigableListDetailPaneScaffold dan NavigableSupportingPaneScaffold telah diubah menjadi PopUntilScaffoldValueChange 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 ke ThreePaneScaffoldState. (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 dan ThreePaneScaffoldHorizontalOrder.toLtrOrder() (I2d6b7)
  • Hapus PaneScaffoldMotionScope dan ubah menjadi kolom di bagian PaneScaffoldTransitionScope. Ubah juga namanya menjadi PaneScaffoldMotionDataProvider 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

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 ke PaneScaffoldTransitionScope.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 dan NavigableSupportingPaneScaffold. (I4dc21, b/359616816)

Perubahan API

  • Menambahkan ThreePaneScaffoldState ke ThreePaneScaffoldNavigator. Metode navigasi telah dibuat suspend untuk mendukung navigasi dengan animasi. Menambahkan seekBack 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

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 menjadi contentKey. Argumen jenis default rememberListDetailPaneScaffoldNavigator dan rememberSupportingPaneScaffoldNavigator diubah dari Nothing menjadi Any. (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 overload ListDetailPaneScaffold dan SupportingPaneScaffold 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

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 ke HingeInfo (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