Compose Material 3

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.
Update Terbaru Rilis Stabil Kandidat Rilis Rilis Beta Rilis Alfa
3 April 2024 1.2.1 - - 1.3.0-alpha04

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.

GrupDeskripsi
compose.animationMem-build animasi di aplikasi Jetpack Compose untuk memperkaya pengalaman pengguna.
compose.compilerMentransformasi fungsi @Composable dan mengaktifkan pengoptimalan dengan plugin compiler Kotlin.
compose.foundationMenulis aplikasi Jetpack Compose dengan elemen penyusun siap pakai dan memperluas dasar untuk mem-build bagian sistem desain Anda sendiri.
compose.materialMem-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.material3Mem-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.runtimeElemen penyusun yang penting untuk model pemrograman dan pengelolaan status Compose, serta runtime inti untuk ditargetkan oleh Plugin Compose Compiler.
compose.uiKomponen 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.material3:material3:1.2.1"
    implementation "androidx.compose.material3:material3-window-size-class:1.2.1"
    implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.material3:material3:1.2.1")
    implementation("androidx.compose.material3:material3-window-size-class:1.2.1")
    implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    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.

Laporkan masalah baru

Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.

Compose Material3 Adaptive Navigation Suite Versi 1.0

Versi 1.0.0-alpha05

6 Maret 2024

androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha05, dan androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha05 dirilis. Versi 1.0.0-alpha05 berisi commit ini.

Perubahan API

  • Jadikan konstruktor NavigationSuiteItemColors bersifat publik. (Ica83a, b/324886877)

Versi 1.0.0-alpha04

21 Februari 2024

androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha04, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha04, dan androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha04 dirilis. Versi 1.0.0-alpha04 berisi commit berikut ini.

Update Dependensi

  • Mengupdate dependensi adaptif Material3 ke jalur modul baru. (Ibc421)
  • Bermigrasi untuk menggunakan versi Window Manager dari class ukuran jendela. (I3794d)

Versi 1.0.0-alpha03

7 Februari 2024

androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha03, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha03, dan androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha03 dirilis. Versi 1.0.0-alpha03 berisi commit berikut ini.

Perubahan API

  • Memperbarui nama paket menjadi navigationsuite dari navigation-suite (I7eff7)
  • Komponen Material3 yang mengekspos MutableInteractionSource di API-nya telah diupdate untuk kini mengekspos MutableInteractionSource nullable yang secara default menampilkan null. Tidak ada perubahan semantik di sini: meneruskan null berarti Anda tidak ingin mengangkat MutableInteractionSource, dan kode akan dibuat di dalam komponen jika diperlukan. Mengubah ke null memungkinkan beberapa komponen untuk tidak pernah mengalokasikan MutableInteractionSource, dan memungkinkan komponen lain untuk hanya membuat instance secara lambat saat diperlukan, sehingga meningkatkan performa di seluruh komponen ini. Jika Anda tidak menggunakan MutableInteractionSource yang diteruskan ke komponen ini, sebaiknya Anda meneruskan null sebagai gantinya. Sebaiknya Anda juga membuat perubahan yang serupa pada komponen Anda sendiri. (I41abb, b/298048146)

Versi 1.0.0-alpha02

13 Desember 2023

androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha02, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha02, dan androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha02 dirilis. Versi 1.0.0-alpha02 berisi commit berikut ini.

Fitur Baru

Perbaikan Bug

  • Memperbaiki komponen navigasi yang mengisi seluruh layar saat platform root memiliki modifier.fillMaxSize. (c9cf250, b/312664933)

Versi 1.0.0-alpha01

15 November 2023

androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha01 dirilis. Versi 1.0.0-alpha01 berisi commit ini.

Fitur Baru

Compose Material3 Adaptive Versi 1.0

Versi 1.0.0-alpha06

7 Februari 2024

androidx.compose.material3:material3-adaptive:1.0.0-alpha06, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha06, dan androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha06 dirilis. Versi 1.0.0-alpha06 berisi commit berikut ini.

Fitur Baru

  • Menambahkan opsi perilaku tambahan untuk navigasi kembali ThreePaneScaffoldNavigator. (I858aa)
  • Menambahkan konten tujuan opsional ke histori navigasi. (Ibd7e6)

Versi 1.0.0-alpha05

24 Januari 2024

androidx.compose.material3:material3-adaptive:1.0.0-alpha05, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha05, dan androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha05 dirilis. Versi 1.0.0-alpha05 berisi commit ini.

Fitur Baru

  • Mendukung awareness histori dalam navigasi scaffold dan kalkulasi nilai (I71d46)

Versi 1.0.0-alpha04

10 Januari 2024

androidx.compose.material3:material3-adaptive:1.0.0-alpha04, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha04, dan androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha04 dirilis. Versi 1.0.0-alpha04 berisi commit berikut ini.

Fitur Baru

  • Menambahkan dukungan tata letak pada scaffold panel (I1b462)

Perubahan API

  • Memindahkan properti batas engsel di Posture ke daftar info engsel (I24f90)

Perbaikan Bug

  • Memperbaiki AnimatedPane yang tidak dikomposisi ulang (c3f573d)

Versi 1.0.0-alpha03

13 Desember 2023

androidx.compose.material3:material3-adaptive:1.0.0-alpha03, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha03, dan androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha03 dirilis. Versi 1.0.0-alpha03 berisi commit berikut ini.

Perubahan API

  • Ubah peran scaffold menjadi alias ThreePaneScaffoldRole. (I65bd1)
  • Membuat class dasar untuk peran scaffold (I4784d)
  • Menghapus parameter yang tidak diperlukan dari konten AnimatedPane (Ibc73b)
  • Mengganti nama collectWindowSizeAsState dan menampilkan nilai mentah (I480f4)

Versi 1.0.0-alpha02

29 November 2023

androidx.compose.material3:material3-adaptive:1.0.0-alpha02, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha02, dan androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha02 dirilis. Versi 1.0.0-alpha02 berisi commit ini.

Perubahan API

  • Memisahkan API navigasi dari API scaffold adaptif. (IC4045)
  • Hapus class GutterSize. (I785b3)

Perbaikan Bug

  • Memperbaiki panel tidak diaktifkan saat AnimatedPane tidak digunakan (d88f181)

Versi 1.0.0-alpha01

15 November 2023

androidx.compose.material3:material3-adaptive:1.0.0-alpha01 dirilis. Versi 1.0.0-alpha01 berisi commit ini.

Fitur Baru

API kondisi adaptif Material3:

API perintah scaffold panel adaptif Material3:

API scaffold panel adaptif Material3:

Compose Material3 Versi 1.3

Versi 1.3.0-alpha04

3 April 2024

androidx.compose.material3:material3-*:1.3.0-alpha04 dirilis. Versi 1.3.0-alpha04 berisi commit ini.

Fitur Baru

  • Menambahkan dua versi eksperimental Carousel Material3 - HorizontalMultiBrowseCarousel dan HorizontalUncontainedCarousel (I88d64)
  • Mengupdate Panel Nav Compose M3 (ModalDrawerSheet dan DismissibleDrawerSheet) untuk mendukung Kembali Prediktif di U+ sebagai keikutsertaan (Ie5b0b)
  • Menambahkan API baru di Ikon untuk memungkinkan penerusan tint warna sebagai lambda guna menghindari rekomposisi. (I5b5a2)
  • API panel aplikasi atas kini mendukung tinggi kustom untuk bagian tetap dan yang dapat diciutkan. (Ib8b0c, b/323403446)

Perubahan API

  • API panel aplikasi atas kini mendukung tinggi kustom untuk bagian tetap dan yang dapat diciutkan. Memperbaiki masalah yang menyebabkan panel aplikasi atas satu baris terlalu sering merekomposisi saat men-scroll konten. Menyelesaikan masalah saat MediumTopAppBar judul terpotong pada perangkat dengan setelan font/tampilan besar. (Ib8b0c, b/323403446, b/300953236, b/286296147, b/330410290, b/308540676)
  • SegmentedButton dan API terkait kini stabil (I8a158)
  • SwipeToDismissBox, SwipeToDismissBoxDefaults, SwipeToDismissBoxState, dan SwipeToDismissBoxValue kini ditandai stabil. (I5f000)
  • Menghapus enum dan API DismissDirection dan DismissValue yang tidak digunakan lagi. (I89ccd)
  • Menambahkan tag eksperimental ke objek pendamping CarouselState Carousel. (I94154)
  • Menghentikan penggunaan LocalMinimumInteractiveComponentEnforcement dan memperkenalkan LocalMinimumInteractiveComponentSize untuk menggantinya. (I7a7ac)
  • Konstruktor SearchBarColors kini bersifat publik. (I769ca)
  • Menambahkan parameter gesturesEnabled ke SwipeToDismissBox. (Idc59f, b/324170119)
  • Menghapus API kolom teks yang ditandai sebagai tidak digunakan lagi dan eksperimental. (I1305f)

Versi 1.3.0-alpha03

20 Maret 2024

androidx.compose.material3:material3-*:1.3.0-alpha03 dirilis. Versi 1.3.0-alpha03 berisi commit ini.

Perubahan yang Dapat Menyebabkan Gangguan Visual

  • Update overlay status fokus menjadi 0,1f untuk memastikan kontras warna yang memadai. (I7ea77)
  • Penyesuaian kecil pada default warna permukaan dan latar belakang di lightColorScheme dan darkColorScheme. (I9db52)

Fitur Baru

  • Menambahkan parameter untuk menyesuaikan ExposedDropdownMenu. Secara khusus, menu kini memiliki parameter focusable (default true) yang harus ditetapkan ke false saat menggunakan kolom teks yang dapat diedit. (I4184c, b/323694447, b/278609042)

Perubahan API

  • Flag ScaffoldSubcomposeInMeasureFix telah dihapus. (Ie2a4b)
  • NavigationRailItemColors sekarang ditandai sebagai @Immutable. (If6112, b/327660613)
  • NavigationBarItemColors sekarang ditandai sebagai @Immutable. (I42a30, b/298064514)
  • Mengurutkan ulang parameter dalam composable Trek Slider. (I9f315)
  • ExposedDropdownMenu kini diimplementasikan menggunakan Popup. Perilakunya harus sama, kecuali menu yang dapat difokuskan dengan kolom teks yang dapat diedit yang mungkin ditutup saat mengetik di keyboard.

Perbaikan Bug

  • Peran dasar penampung Permukaan dan permukaan telah sedikit disesuaikan, sehingga memberikan lebih banyak tint dalam tema terang dan gelap. (I677a5)
  • Memperbarui warna Penggeser dan ProgressIndicator agar mengikuti spesifikasi Kontras Non-Teks baru. (I26807)
  • Update overlay status fokus menjadi 0,1f untuk memastikan kontras warna yang memadai. (I7ea77)
  • Penyesuaian kecil pada default warna permukaan dan latar belakang di lightColorScheme dan darkColorScheme. (I9db52)

Versi 1.3.0-alpha02

6 Maret 2024

androidx.compose.material3:material3-*:1.3.0-alpha02 dirilis. Versi 1.3.0-alpha02 berisi commit ini.

Perubahan API

  • Membuat status penggeser kembali stabil. Membuat State.onValueChangeFinished val lagi. Menggabungkan onValueChangeFinished dalam rememberUpdatedState. (I82ab2, b/322269951)
  • Komponen Navigation kini menggunakan peran SurfaceContainer baru. DrawerDefaults kini menyediakan atribut standardContainerColor dan modalContainerColor yang berbeda. DrawerDefaults.ModalDrawerElevation sekarang menjadi 0.dp. (I7fbac)
  • Menghapus @Stable dari status Slider sejak kita mengubah state.onValueChangeFinished menjadi var. (Ied34a, b/322269951)
  • Spesifikasi animasi ModalBottomSheet dan StandardBottomSheet sekarang menjadi TweenSpec, yang diperbarui dari animasi pegas. Tindakan ini akan menyelesaikan masalah terkait overshoot yang terlihat. Konstruktor SheetState yang tidak digunakan lagi tanpa kepadatan kini telah dihapus. (I7babc, b/285847707)

Perbaikan Bug

  • Varian SurfaceContainer kini digunakan oleh komponen. Komponen yang secara resmi menghitung warna dengan Surface dan TonalElevation kini menggunakan peran SurfaceContainer secara default, yang tidak terpengaruh oleh elevasi tonal. (b/304584161)
  • Memperbaiki bug yang menyebabkan ElevatedFilterChip tidak dipilih, warna penampung yang dinonaktifkan menjadi hitam. (I400e6, b/322407043)
  • Memperbaiki indikator progres yang tidak tentu saat progresnya 0 (Id6582)
  • Memperbaiki masalah terkait Slider dan RangeSlider pada tata letak RTL (Iab0e1)
  • Menambahkan SliderRangeTolerance untuk penghitungan rentang penggeser karena Pembulatan mengambang mungkin tidak akurat. (Ic918a, b/324934900)
  • Pastikan DatePickerDialog menampilkan tombolnya saat DateRangePicker disusun bertingkat atau saat menampilkan jenis pemilih tanggal apa pun di layar kecil dengan font yang lebih besar. (Ie4758, b/325107799, b/277768544)
  • Menu kini memanfaatkan peran SurfaceContainer untuk warna container. MenuDefaults.TonalElevation sekarang menjadi 0.dp. (I135b7)
  • TextField kini memanfaatkan peran SurfaceContainerHighest untuk warna container. (I4dced)
  • Chip yang ditingkatkan kini memanfaatkan peran SurfaceContainerLow (I7cd2f)
  • Warna penampung DatePicker sekarang menjadi SurfaceContainerHigh. DatePickerDefaults.TonalElevation sekarang menjadi 0.dp. Ida753
  • Memperbarui warna penampung Sheet Bawah dan warna tuas tarik. (I72a0a)
  • Warna penampung RichTooltip sekarang menjadi SurfaceContainer. (Ia8b45)
  • Warna penampung SearchBar sekarang menjadi SurfaceContainerHighest. SearchBarDefaults.TonalElevation sekarang menjadi 0.dp. (I88604)
  • Tombol update dinonaktifkan dan trek/ikon yang tidak dipilih untuk memanfaatkan peran warna SurfaceContainerHighest. (I7687a)
  • Warna penampung AlertDialog sekarang menjadi SurfaceContainerHigh. (Ie0433)
  • Warna penampung BottomAppBar sekarang menjadi SurfaceContainer. Warna onScroll TopAppBar sekarang menjadi SurfaceContainer. (I41630)
  • Warna penampung ElevatedCard sekarang menjadi SurfaceContainerLow. Warna penampung FilledCard dari SurfaceContainerHighest. (I35141)
  • Warna penampung ElevatedButton sekarang menjadi SurfaceContainerLow. Saat FilledIconButton tidak dipilih, sekarang memiliki warna penampung SurfaceContainerHighest. (I792c9)
  • Memperbarui warna penampung dan peran warna tombol jam TimePicker menjadi SurfaceContainerHighest. (I43b93)

Versi 1.3.0-alpha01

21 Februari 2024

androidx.compose.material3:material3-*:1.3.0-alpha01 dirilis. Versi 1.3.0-alpha01 berisi commit ini.

Fitur Baru

  • Mengupdate Compose M3 ModalBottomSheet untuk mendukung Kembali Prediktif di U+ (Iccf32, b/281967264, b/304850357)
  • Mengupdate SearchBar Compose M3 untuk mendukung Kembali Prediktif di U+ (I657f8)
  • Memperbarui Penggeser untuk meningkatkan aksesibilitas dengan menambahkan indikator jeda dan berhenti. (I3058e)
  • Memperbarui ProgressIndicator untuk meningkatkan aksesibilitas dengan menambahkan indikator jeda dan berhenti. (I21451)
  • Menambahkan tanda sisipan default untuk tooltip kaya, API tooltip kaya yang baru kini memungkinkan tanda sisipan kustom digambar dengan mempertimbangkan LayoutCoordinates anchor. (Ifd42c)

Perubahan Perilaku

  • Komponen Material telah dimigrasikan untuk menggunakan API ripple baru, dan tidak lagi membuat kueri RippleTheme.

Perubahan API

  • Keseruan drawStopIndicator kini bersifat publik. (I3f59f)
  • Tandai fungsi formatWithSkeleton DatePicker sebagai internal (Ic65dc)
  • DropdownMenu kini mendukung warna, bentuk, elevasi, dan batas kustom. (I8e981, b/289554448, b/301887035, b/283654243)
  • Komponen Material3 yang mengekspos MutableInteractionSource di API-nya telah diupdate untuk kini menampilkan MutableInteractionSource nullable yang secara default menampilkan null. Tidak ada perubahan semantik di sini: meneruskan null berarti Anda tidak ingin mengangkat MutableInteractionSource, dan kode akan dibuat di dalam komponen jika diperlukan. Mengubah ke null memungkinkan beberapa komponen untuk tidak pernah mengalokasikan MutableInteractionSource, dan memungkinkan komponen lain untuk hanya membuat instance secara lambat saat diperlukan, sehingga meningkatkan performa di seluruh komponen ini. Jika Anda tidak menggunakan MutableInteractionSource yang diteruskan ke komponen ini, sebaiknya Anda meneruskan null sebagai gantinya. Sebaiknya Anda juga membuat perubahan yang serupa pada komponen Anda sendiri. (I41abb, b/298048146)
  • Menambahkan RippleConfiguration dan LocalRippleConfiguration untuk memungkinkan penyesuaian ripple per komponen / sub-hierarki menggunakan nilai tetap. Misalnya, untuk mengubah warna komponen yang tidak Anda kontrol, atau untuk menonaktifkan ripple untuk komponen. Umumnya, nilai default harus digunakan: API ini merupakan jalan keluar untuk penyesuaian komponen individual / sub-hierarki terbatas. Untuk perubahan yang lebih luas dan sistem desain kustom, Anda harus membuat ripple sendiri menggunakan createRippleModifierNode. (I7b5d6, b/298048146)
  • Menambahkan API ripple baru dalam material3 yang menggantikan rememberRipple yang tidak digunakan lagi. Juga menambahkan CompositionLocal sementara, LocalUseFallbackRippleImplementation, untuk mengembalikan komponen material3 agar menggunakan API rememberRipple / RippleTheme yang tidak digunakan lagi. Fitur ini akan dihapus dalam rilis stabil berikutnya, dan hanya dimaksudkan sebagai bantuan migrasi sementara jika Anda memberikan RippleTheme kustom. (I34cbc, b/298048146)

Perbaikan Bug

  • Menghapus subkomposisi di dalam ModalBottomSheet untuk meningkatkan performa. Memperbaiki masalah yang menyebabkan ModalBottomSheet mengalami error dalam skenario tertentu yang dikombinasikan dengan LookaheadScope. (I2a198)
  • Menghapus subkomposisi di dalam BottomSheetScaffold untuk meningkatkan performa. Memperbaiki masalah yang menyebabkan BottomSheetScaffold mengalami error dalam skenario tertentu saat dikombinasikan dengan LookaheadScope. (Ie6401)
  • Perataan badge disesuaikan agar lebih dekat dengan bagian tengah konten anchor terkait dengan sudut kanan atas. (I18a28)
  • Memperbaiki masalah a11y pada DateRangePicker saat judul teks Tahun Bulan disampaikan sebagai dapat ditindaklanjuti ke pembaca layar, Tombol akses, dan Voice Access. (I2ac55)
  • Bug urutan parameter mediumTopAppBarColors telah diperbaiki. (Ibe64a)

Versi 1.2

Versi 1.2.1

6 Maret 2024

androidx.compose.material3:material3-*:1.2.1 dirilis. Versi 1.2.1 berisi commit ini.

Perbaikan Bug

  • Membuat status Penggeser stabil lagi. Membuat State.onValueChangeFinished val lagi. Menggabungkan onValueChangeFinished dalam rememberUpdatedState. (Ie8fd0, b/322269951)
  • Menghapus @Stable dari status Slider sejak kita mengubah state.onValueChangeFinished menjadi var. (I82ba1, b/322269951)
  • Perbaiki NavigationBar warna kustom yang akan disalin dari default. (80a779, b/326894020)
  • Memperbaiki regresi dalam ExposedDropdownMenu agar dapat difokuskan lagi (3fcec1, b/323694447)
  • Memperbaiki masalah cache warna tombol (3e5bbcb/327371655)

Versi 1.2.0

7 Februari 2024

androidx.compose.material3:material3-*:1.2.0 dirilis. Versi 1.2.0 berisi commit ini.

Masalah Umum

  • Bug rendering interop View-Compose diperkenalkan di PrimaryTabRow sebagai bagian dari perubahan peningkatan performa. Solusinya adalah menggunakan TabRow dengan TabRowDefaults.PrimaryIndicator

Perubahan penting sejak 1.1.0

Komponen Desain Material 3 Baru

Peningkatan pada komponen Desain Material 3 yang ada.

Mempromosikan API eksperimental ke stabil.

Peningkatan performa

Versi 1.2.0-rc01

24 Januari 2024

androidx.compose.material3:material3-*:1.2.0-rc01 dirilis. Versi 1.2.0-rc01 berisi commit ini.

Perbaikan Bug

  • Bug urutan parameter mediumTopAppBarColors telah diperbaiki. (Ibe64a)
  • Memperbaiki bug yang diperkenalkan pada 1.2.0-beta02 di CardDefaults.cardColors yang tidak mengupdate contentColor berdasarkan nilai parameter containerColor. (Iee041, b/319671246)
  • Memperbaiki bug di disabledContentColor yang diperkenalkan di 1.2.0-beta02 dan menambahkan pengoptimalan kecil. (I6dda1, b/318428829)

Versi 1.2.0-beta02

10 Januari 2024

androidx.compose.material3:material3-*:1.2.0-beta02 dirilis. Versi 1.2.0-beta02 berisi commit ini.

Bug yang Diketahui

  • Bug di IconButtonColors secara default akan menetapkan disabledContentColor ke alfa (0,38f) dari LocalContentColor, bukan contentColor yang ditentukan pengguna. Solusinya adalah dengan menetapkan disabledContentColor secara eksplisit. Masalah ini akan diperbaiki dalam rilis berikutnya.

Perubahan API

  • Menambahkan kemampuan untuk mengaktifkan tanda sisipan tooltip untuk API Tooltip Biasa. (Ibf767)
  • SwipeToDismissState, rememberSwipeToDismiss, dan SwipeToDismissValue diganti namanya menjadi _SwipeToDismissBox_. (I68d6d)

Perbaikan Bug

  • Memperbaiki nilai padding akhir ListItem agar selaras dengan spesifikasi. (Ibd68b, b/305342674)
  • Warna garis batas untuk kartu bergaris batas kini dipetakan dengan benar ke OutlineVariant. (I75480, b/310979715)
  • Warna dinamis kini mengambil dari peran warna yang ditentukan sistem. Hal ini meningkatkan kontras untuk konten yang dapat diakses, dan lebih menyelaraskan warna dinamis dengan spesifikasi Material. (I1de96)
  • Memperbaiki penanganan kembali ModalBottomSheet di Android T/13+ saat android:enableOnBackInvokedCallback="true". (I728dc, b/306196110)

Versi 1.2.0-beta01

13 Desember 2023

androidx.compose.material3:material3-*:1.2.0-beta01 dirilis. Versi 1.2.0-beta01 berisi commit ini.

Perubahan API

  • Tandai TabIndicatorScope sebagai eksperimental. (I45c88)
  • Menghapus API eksperimental yang tidak digunakan lagi untuk tooltip. (I438cb)
  • Mengubah overload TabRow baru agar tidak menggunakan subkomposisi. Hal ini menghasilkan cara yang berbeda untuk mem-build indikator TabRow dengan pengubah kustom yang disediakan. (Ife741)
  • Menghentikan penggunaan DismissDirection dan DismissValue API. Nilai ini telah digabungkan ke SwipeToDismissValue, yang nilainya menunjukkan posisi dan arah SwipeToDismissBox. DismissState.progress sekarang ditandai sebagai FloatRange antara 0.0 dan 1.0. Penghemat dan Konstruktor DismissState yang tidak digunakan lagi kini telah dihapus. Komponen, status, dan objek default SwipeToDismiss telah ditandai sebagai eksperimental. (Ib54f2)

Perbaikan Bug

  • Indikator default untuk PullToRefresh sekarang berupa panah terbuka, bukan segitiga padat. (I67be3)

Versi 1.2.0-alpha12

29 November 2023

androidx.compose.material3:material3-*:1.2.0-alpha12 dirilis. Versi 1.2.0-alpha12 berisi commit berikut ini.

Perubahan API

  • RangeSlider kini menggunakan rentang Kotlin (misalnya, 0f..1f), bukan class nilai FloatRange kustom. SnapFlingBehavior.kt kini juga menggunakan rentang Kotlin. (I025cb)
  • Tandai fungsi factory Pengubah sebagai @Stable. (Ib109f)

Versi 1.2.0-alpha11

15 November 2023

androidx.compose.material3:material3-*:1.2.0-alpha11 dirilis. Versi 1.2.0-alpha11 berisi commit berikut ini.

Fitur Baru

  • Menerapkan PullToRefreshContainer dan PullToRefreshState, yang bersama-sama memberikan implementasi pull untuk memuat ulang di Material3. (I16456, b/261760718)

Perubahan API

  • Tandai SwipeToDismissBox DismissDirection dan DismissValue sebagai eksperimental. (I517b0)
  • Mengganti nama SwipeToDismiss menjadi SwipeToDismissBox. Ganti nama background menjadi backgroundContent, dan dismissContent menjadi lambda content di akhir. (I7f4d3)
  • Jadikan konstruktor untuk ChipElevation dan SelectableChipElevation publik. (Ie0c48, b/308432421)
  • Menambahkan ModalBottomSheetProperties. Memindahkan securePolicy ke ModalBottomSheetProperties. Menambahkan isFocusable dan shouldDismissOnBackPress ke ModalBottomSheetProperties. Boolean baru ini membantu menentukan bagaimana sheet bawah modal menangani peristiwa IME. (Iea56f, b/278216859)
  • Memperbarui status RangeSlider dan Slider untuk menghapus initialOnValueChange, awalan awal, dan kdocs yang sesuai. (I57d30)
  • Menghentikan penggunaan class ChipBorder dan panggilan fungsi terkaitnya. Sebagai gantinya, gunakan BorderStroke secara langsung. (I89cc2)
  • Foundation Tooltip API sekarang menjadi @ExperimentalFoundationApi. (I30b0b)
  • TabRow dan ScrollableTabRow tidak lagi digunakan. Varian Primer dan Sekunder baru ditandai sebagai eksperimental. (I0def6)
  • Chip input dan filter kini menggunakan BorderStroke secara langsung. (I07a8d)
  • SegmentedButton sekarang menggunakan BorderStroke secara langsung. (I89b9b)
  • Mengganti nama fungsi AlertDialog generik menjadi BasicAlertDialog, dan menghentikan penggunaan fungsi sebelumnya. Idbe52
  • Ganti nama SwipeToDismiss API menjadi SwipeDismiss, dan promosikan SwipeDismiss API baru menjadi stabil. (I14cbe)
  • Menambahkan tonalElevation dan shadowElevation ke API tooltip. Selain itu, memindahkan TooltipBox, PlainTooltip, dan RichTooltip API kembali ke eksperimental karena secara tidak sengaja dirilis sebagai stabil. (If0f66, b/293939035)
  • Mempromosikan API chip eksperimental ke stabil. (Iea2c3)
  • Menghapus anotasi @ExperimentalMaterial3Api dari Kartu yang dapat diklik Material3. (I88dbf)

Perbaikan Bug

  • Memperbaiki masalah saat SwipeToDismiss mengalami error dalam skenario tertentu dengan tata letak Lookahead dan Lambat bertingkat. (Ica8d1, b/297226562)

Versi 1.2.0-alpha10

18 Oktober 2023

androidx.compose.material3:material3-*:1.2.0-alpha10 dirilis. Versi 1.2.0-alpha10 berisi commit berikut.

Perubahan API

  • Mempromosikan Badge dan BadgedBox menjadi stabil. (I67f16, b/261565132)
  • Menambahkan securePolicy sebagai parameter ke ModalBottomSheet sehingga pengguna dapat menentukan perilaku untuk WindowManager.LayoutParams.FLAG_SECURE. (Icdac8, b/296250262)
  • Menambahkan overload baru dari LinearProgressIndicator dan CircularProgressIndicator yang menggunakan progress sebagai lambda. API tersebut seharusnya lebih berperforma tinggi daripada versi sebelumnya. (I824e6, b/295616656)
  • Mengganti nama StandardSizeClasses menjadi AllSizeClasses. (I8cb07)
  • Menggabungkan fungsi penghitungan class ukuran jendela. (Iad935)

Perbaikan Bug

  • Memperbaiki error DatePicker saat mengklik tombol panah navigasi dengan cepat saat bulan yang ditampilkan berada di batas rentang tahun yang diizinkan. (I46f36, b/290954897, b/297002119)
  • [Kolom samping/bar navigasi] Mendukung warna transparan untuk indikator. (Ie0a9b, b/267289987)

Versi 1.2.0-alpha09

4 Oktober 2023

androidx.compose.material3:material3-*:1.2.0-alpha09 dirilis. Versi 1.2.0-alpha09 berisi commit berikut ini.

Perubahan API

  • Memigrasikan ModalNavigationDrawer dan DismissibleNavigationDrawer untuk menggunakan AnchoredDraggable API baru. animateTo DrawerState telah diganti dengan metode buka dan tutup, dan offset kini ditampilkan sebagai float, bukan objek status. Anda dapat mengakses offset secara langsung melalui currentOffset. (I0a72c)
  • Fungsi Non-Composable telah ditambahkan untuk membuat DatePickerState dan DateRangePickerState secara langsung. Fungsi ini dapat digunakan sebagai alternatif untuk fungsi rememberDatePickerState dan rememberDateRangePickerState Composable jika diperlukan. (I70326, b/291524052)
  • TabRows Tetap dan Dapat Di-scroll kini memiliki varian Utama dan Sekunder. Semua ini dipetakan dengan benar ke perilaku indikator dan warna sebagaimana ditentukan di Material3.
  • PrimaryScrollableTabRow dan SecondaryScrollableTabRow sekarang menampilkan status scroll. (Iec8f5, b/260572337)
  • Menambahkan parameter sheetMaxWidth baru yang dapat ditetapkan oleh developer untuk menentukan lebar maksimum yang akan direntangkan oleh sheet. Dp.Unspecified dapat diteruskan untuk parameter jika diinginkan sheet yang mencakup seluruh lebar layar. (Ifb7c9, b/266697696)
  • Menambahkan kembali PlainTooltipBox API dan RichTooltipBox API sebagai metode yang tidak digunakan lagi. (I246fa)

Perbaikan Bug

  • Memperbaiki error saat DatePicker diinisialisasi dengan DatePickerFormatter yang memiliki kerangka tanggal tertentu yang tetap sama saat dikonversi ke pola tanggal (seperti YY). (I01f29)

Versi 1.2.0-alpha08

20 September 2023

androidx.compose.material3:material3-*:1.2.0-alpha08 dirilis. Versi 1.2.0-alpha08 berisi commit ini.

Perubahan yang Dapat Menyebabkan Gangguan Perilaku

  • ColorScheme kini tidak dapat diubah, sehingga pembaruan warna individual menjadi kurang efisien, tetapi membuat penggunaan warna yang lebih umum menjadi lebih efisien. Alasan di balik perubahan ini adalah sebagian besar aplikasi tidak akan memperbarui setiap warna sebagai kasus penggunaan utama. Hal ini masih memungkinkan, tetapi akan merekomposisi lebih banyak daripada sebelumnya, sehingga kami mengurangi jumlah langganan status secara signifikan melalui semua kode Material dan akan memengaruhi inisialisasi dan biaya runtime pada kasus penggunaan yang lebih standar. (IC447d, b/297212873)
  • Tonal Elevation tidak lagi dianimasikan dalam berbagai status interaksi agar sesuai dengan spesifikasi. (Icdd12)

Perubahan API

  • Menambahkan BottomAppBar baru yang menggunakan BottomAppBarScrollBehavior sebagai parameter untuk menyembunyikannya secara otomatis saat konten di-scroll. Juga menambahkan FabPosition.EndOverlay yang memungkinkan FAB untuk menempatkan panel aplikasi bawah dalam scaffold, bukan ditambatkan di atasnya. (Iecb47)
  • Menambahkan komponen Label sederhana yang dibuat di atas BasicTooltipBox yang tidak akan ditutup saat mengetuk di luar batas label. (I821f9)

Perbaikan Bug

  • Menghapus penggunaan rememberSaveable untuk tooltip. (Icc131, b/299500338)
  • Memperkenalkan tanda sementara untuk mengontrol apakah Scaffold harus mengukur turunannya selama pengukuran atau selama penempatan. Secara default, hal ini akan diukur dalam pengukuran. Jika Anda mengalami masalah dengan perilaku baru, ajukan masalah. (I0b354)
  • Memperbaiki Edge ke Edge horizontal di BottomSheet dengan menggunakan pengukuran yang benar untuk lebar layar perangkat. (I1df0c, b/299058752)
  • Memperbaiki bug yang menyebabkan ModalBottomSheet tidak memanggil onDismissedRequest saat menutupnya dengan menggeser ke bawah pada sheet. Idfdd8

Versi 1.2.0-alpha07

6 September 2023

androidx.compose.material3:material3-*:1.2.0-alpha07 dirilis. Versi 1.2.0-alpha07 berisi commit ini.

Fitur Baru

  • Dukungan ikon pencerminan otomatis telah ditambahkan di compose material 1.6.0-alpha05. Lihat catatan rilis untuk mengetahui detail tentang ikon pencerminan otomatis.

Perubahan API

  • SliderState mengimplementasikan DraggableState (I9b116)
  • Ubah bentuk menjadi parameter yang diperlukan. Ganti nama position menjadi index dalam fungsi bantuan bentuk. (I34941)
  • Memperbarui DatePicker formatWithSkeleton untuk menyertakan peta yang digunakan sebagai cache untuk peningkatan performa. (I3195f)
  • Menambahkan BasicTooltipBox ke compose.foundation serta memperbarui PlainTooltipBox dan RichTooltipBox untuk menggunakan TooltipBox dengan composable PlainTooltip dan RichTooltip baru. (I79e1d)

Perbaikan Bug

  • dynamicLightColorScheme dan dynamicDarkColorScheme kini menampilkan warna kroma yang lebih tinggi untuk peran permukaan dan surfaceContainer. (I5e901)
  • Memperbaiki masalah saat beberapa komponen yang menggunakan Subkomposisi (misalnya BottomSheetScaffold) di dalam Scaffold di dalam LookaheadScope mencoba membaca ukurannya terlalu awal. (I297b4, I871f1, b/295536718)

Versi 1.2.0-alpha06

23 Agustus 2023

androidx.compose.material3:material3-*:1.2.0-alpha06 dirilis. Versi 1.2.0-alpha06 berisi commit ini.

Perbaikan Bug

  • Memperbaiki penghitungan offset DropdownMenu sehingga offset x hanya bergantung pada arah tata letak lokal, dan offset y tidak akan lagi dibalik saat menu berada di dekat bagian bawah layar. (Iccc74, b/294103942)
  • Memperbaiki penghitungan offset DropdownMenu sehingga offset x hanya bergantung pada arah tata letak lokal, dan offset y tidak akan lagi dibalik saat menu berada di dekat bagian bawah layar. (Ib87a2, b/294103942)

Versi 1.2.0-alpha05

9 Agustus 2023

androidx.compose.material3:material3-*:1.2.0-alpha05 dirilis. Versi 1.2.0-alpha05 berisi commit ini.

Perubahan API

  • Pembaruan pada warna Kotak centang dan TriStateCheckbox. CheckboxDefaults.colors() disabledUncheckedColor kini hanya memengaruhi batas kotak centang. Kasus khusus yang mengharuskan Anda menetapkan warna kotak internal saat dinonaktifkan dan tidak dicentang memerlukan instance CheckboxColors yang dibuat khusus dengan nilai warna yang diinginkan. (I77d17, b/291943198)

Versi 1.2.0-alpha04

26 Juli 2023

androidx.compose.material3:material3-*:1.2.0-alpha04 dirilis. Versi 1.2.0-alpha04 berisi commit ini.

Fitur Baru

  • API Tombol Segmen Eksperimental (Ifc8fb)
  • Pembagi kini memiliki parameter untuk mengontrol orientasi guna mendukung pembagi vertikal. (I4c899, b/288438593)

Perubahan API

  • Kita memindahkan dependensi kepadatan ke tingkat komponen. Hal ini berlaku untuk komponen berikut: komponen berbasis Spreadsheet dan SwipeToDismiss. Gunakan overload baru yang disediakan jika kepadatan merupakan parameter. (I1846e)
  • Anotasi tambahan untuk menentukan input yang diizinkan ke composable (Ief234)
  • Menambahkan parameter ikon ke tombol yang disegmentasikan, memisahkan semantik sehingga tombol yang disegmentasikan dapat dipilih untuk mengimplementasikan pilihan tunggal, dan dapat dialihkan untuk mengimplementasikan multi-pilihan, dengan SelectableSegmentedButtonRow dan ToggelableSegmentedButtonRow. (I38740)
  • Nama pemisah telah diganti menjadi HorizontalDivider. Menambahkan fungsi VerticalDivider. (I5975c)
  • Ubah penggunaan ClosedFloatingPointRange untuk FloatRange bobot yang lebih ringan dalam Material3 API eksperimental untuk meminimalkan autoboxing. (I4aab5)
  • Menambahkan perataan Start baru untuk FabPosition (Ib7aea, b/170592777)

Perbaikan Bug

Versi 1.2.0-alpha03

21 Juni 2023

androidx.compose.material3:material3-*:1.2.0-alpha03 dirilis. Versi 1.2.0-alpha03 berisi commit ini.

Perubahan Perilaku

  • includeFontPadding kini menjadi false secara default dalam tipografi Material 3. Gaya tinggi baris default juga telah diubah menjadi Trim.None dan Alignment.Center, dan lineHeight eksplisit (in sp) telah ditambahkan ke TextStyle Typography. Lihat dokumen API jika Anda ingin menyesuaikan nilai-nilai ini, dan lihat postingan blog untuk penjelasan mendalam tentang perubahan ini. (I6266f, Icabc3)

Fitur Baru

  • Menambahkan overload untuk RangeSlider yang merupakan versi stateful komponen. Membuat RangeSliderState yang menyimpan semua informasi untuk jalur yang aktif saat ini, pengukuran komponen RangeSlider, serta logika tarik dan gestur. (I8c270)
  • Kotak penelusuran kini mendukung bayangan melalui parameter shadowElevation yang baru ditambahkan. (Ia5369, b/271040353)
  • ColorScheme kini mendukung peran SurfaceContainer baru.
  • Overlay elevasi tonal permukaan kini dapat dinonaktifkan dengan lokal komposisi LocalTonalElevationEnabled. (Ic203c, b/277774590)

Perubahan API

  • Buka konstruktor warna komponen. (I8c4a6)
  • Menambahkan parameter yang dapat difokuskan ke kedua API tooltip, sehingga developer dapat membuat tooltip menggunakan peristiwa sentuh atau tidak. Berhati-hatilah karena hal ini dapat merusak traversal otomatis fokus aksesibilitas. (Ie32d8)
  • Pengoptimalan aksesibilitas untuk performa dan alokasi memori. (Iede48)
  • Mengekspos DefaultSizeClasses dan membuat StandardSizeClasses untuk WindowSizeClasses (I91838)
  • mengubah WindowWidth/HeightSizeClass menjadi class nilai float (Ie686e)

Perbaikan Bug

  • Parameter contentWindowInsets Scaffold kini mengikuti inset jendela yang digunakan. Perhatikan bahwa perilaku padding konten berdasarkan topBar dan bottomBar tetap tidak berubah saat parameter ini disediakan. (I08b73, b/264601542)
  • Perbaiki perataan panel aplikasi atas tengah untuk memastikan judul panjang tidak dirender di atas ikon tindakan atau ikon navigasi. (I4369f, b/236994621)
  • Posisi tab sekarang menerapkan lebar konten minimum 24 dp. Indikator ini menyediakan target sentuh yang dapat diakses untuk indikator tab. Id8861
  • Palet warna dinamis dari dynamicLightColorScheme dan dynamicDarkColorScheme kini mendukung peran platform baru. (I1252e)
  • Memperbarui perataan notifikasi badge agar tidak terpotong saat bertabrakan dengan kakek buyut. Idf75a

Versi 1.2.0-alpha02

24 Mei 2023

androidx.compose.material3:material3-*:1.2.0-alpha02 dirilis. Versi 1.2.0-alpha02 berisi commit ini.

Perubahan API

  • Menambahkan parameter inset jendela ke ModalBottomSheet.
    • Scrim untuk ModalBottomSheet kini dapat digambar di belakang status bar dengan windowInsets disetel ke nol
    • Mengupdate fungsi ModalBottomSheet default agar tetap berada di luar kolom sistem termasuk navigasi
    • Penanganan inset status bar disediakan dengan handel geser dalam mode layar penuh.
    • BottomSheetDefaults menyertakan inset jendela untuk BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/27548
  • Menghentikan penggunaan Indicator dan menambahkan Primary/SecondaryIndicator agar sesuai dengan spesifikasi M3. PrimaryIndicator cocok dengan lebar konten tab, sedangkan SecondaryIndicator membentang selebar penuh yang tersedia. SecondaryIndicator setara dengan Indicator yang kini tidak digunakan lagi dan dapat menjadi pengganti langsung. (I27604)
  • Menambahkan opsi untuk meneruskan ScrollState saat membuat DropdownMenu atau ExposedDropdownMenu untuk mengontrol status scroll vertikal dari item menu yang ditampilkan. (Ia0734, b/185304441)
  • Menambahkan overload untuk Slider yang merupakan versi stateful komponen. Membuat SliderState yang menyimpan semua informasi untuk jalur yang aktif saat ini, pengukuran komponen Slider, serta logika tarik dan gestur. (I124a5)
  • Mengganti nama properti Semantik isContainer menjadi isTraversalGroup (I121f6)
  • Menambahkan TextStyle.merge(...) yang dioptimalkan dengan daftar parameter lengkap. (Iad234, b/246961787)
  • Membuat antarmuka publik TooltipState, RichTooltipState, dan PlainTooltipState. Menambahkan RichTooltipStateImpl dan PlainTooltipStateImpl untuk status default. Menambahkan fungsi remember*State untuk mendapatkan status yang diterapkan ini. TooltipSync dihapus dan diganti dengan TooltipDefault.GlobalMutatorMutex. (I7813d)
  • Memperbarui DatePickerColors untuk menyertakan opsi penyesuaian tambahan untuk warna pembagi pemilih tanggal, navigasi, dan kolom input teks. (I1a685, b/274626815)
  • DatePickerState dan DateRangePickerState kini merupakan antarmuka publik dengan implementasi default yang dapat diambil oleh rememberDatePickerState dan rememberDateRangePickerState. (I71c52)
  • Menghapus dateValidator dari DatePicker dan DateRangePicker, lalu memperkenalkan antarmuka SelectableDates yang dapat ditetapkan pada status untuk mengontrol tanggal atau tahun yang dapat dipilih di UI. (IC2fc6)
  • TimePicker dihapus dari API stabil, perubahan lebih lanjut diharapkan dalam API status (I3f39a)
  • ModalBottomSheet hanya dipindahkan ke Android. ModalBottomSheet tidak direkomendasikan untuk penggunaan desktop, dan fungsinya tidak dikelola secara aktif. (Ib3778)

Perbaikan Bug

  • Memperbaiki tindakan tutup AlertDialog agar muncul di bawah tindakan konfirmasi saat tindakan ditumpuk di atas satu sama lain agar sesuai dengan lebar dialog. Perbaikan ini menyelaraskan implementasi tersebut dengan spesifikasi Desain Material. (I029de, b/235454277)
  • Memperbaiki bug dalam ListItem menggunakan padding yang salah untuk item tiga baris. (I6e235)
  • ModalBottomSheet kini dapat menampilkan keyboard IME (Idc508, b/262140644, b/268380384, b/272483584)

Versi 1.2.0-alpha01

10 Mei 2023

androidx.compose.material3:material3:1.2.0-alpha01 dan androidx.compose.material3:material3-window-size-class:1.2.0-alpha01 dirilis. Versi 1.2.0-alpha01 berisi commit ini.

Versi 1.1

Versi 1.1.2

20 September 2023

androidx.compose.material3:material3:1.1.2 dan androidx.compose.material3:material3-window-size-class:1.1.2 dirilis. Versi 1.1.2 berisi commit ini.

Perbaikan Bug

  • Memperbaiki pengubah yang salah diteruskan ke dua composable. (b/282761472)
  • Memperbaiki TimePickerState yang menampilkan jam yang salah saat diinisialisasi dengan 23 jam. (b/278242122)
  • Memperbaiki status tombol awal untuk validasi siang dan menit. (b/269768197, b/282790635)
  • Memperbaiki state.hour yang menampilkan nilai salah untuk pukul 23.00. (b/282761472, b/278242122)

Versi 1.1.1

21 Juni 2023

androidx.compose.material3:material3:1.1.1 dan androidx.compose.material3:material3-window-size-class:1.1.1 dirilis. Versi 1.1.1 berisi commit ini.

Perbaikan Bug

  • Menambahkan panggilan untuk ModalBottomSheet tanpa parameter windowInset untuk kompatibilitas biner. (Ib7959)
  • Menambahkan parameter inset jendela ke ModalBottomSheet.
    • Scrim untuk ModalBottomSheet kini dapat digambar di belakang status bar dengan windowInsets disetel ke nol
    • Mengupdate fungsi ModalBottomSheet default agar tetap berada di luar kolom sistem termasuk navigasi
    • Penanganan inset status bar disediakan dengan handel geser dalam mode layar penuh.
    • BottomSheetDefaults menyertakan inset jendela untuk BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/27548

Versi 1.1.0

10 Mei 2023

androidx.compose.material3:material3:1.1.0 dan androidx.compose.material3:material3-window-size-class:1.1.0 dirilis. Versi 1.1.0 berisi commit ini.

Fitur utama 1.1.0

Komponen Desain Material 3 baru

Peningkatan pada komponen Desain Material 3 yang ada.

Mempromosikan API eksperimental ke stabil.

Lihat postingan blog ini untuk detail selengkapnya.

Versi 1.1.0-rc01

19 April 2023

androidx.compose.material3:material3:1.1.0-rc01 dan androidx.compose.material3:material3-window-size-class:1.1.0-rc01 dirilis. Versi 1.1.0-rc01 berisi commit ini.

Perubahan API

  • TimePicker dihapus dari API stabil, perubahan lebih lanjut diharapkan dalam API status (I3f39a)
  • ModalBottomSheet hanya dipindahkan ke Android. ModalBottomSheet tidak direkomendasikan untuk penggunaan desktop, dan fungsinya tidak dikelola secara aktif. (Ib3778)

Versi 1.1.0-beta02

5 April 2023

androidx.compose.material3:material3:1.1.0-beta02 dan androidx.compose.material3:material3-window-size-class:1.1.0-beta02 dirilis. Versi 1.1.0-beta02 berisi commit ini.

Perubahan API

  • SheetState sekarang memiliki parameter skipHiddenState opsional
  • rememberStandardBottomSheetState sekarang memiliki parameter skipHiddenState opsional
  • BottomSheetScaffold kini memiliki anchor Tersembunyi yang ditentukan, meskipun dinonaktifkan secara default
  • Dokumentasi SheetState.requireOffset telah diperbarui
  • BottomSheetDefaults.MinimizedShape telah diganti namanya menjadi BottomSheetDefaults.HiddenShape (I839f4, b/273870234)

Perbaikan Bug

  • Jangan ubah tampilan tombol dari jam ke menit saat penjelajahan sentuh diaktifkan. (I717d0)
  • Semantik tuas tarik ModalBottomSheet dan BottomSheetScaffold sekarang digabungkan. (I05afb)
  • Pengubah BottomSheetScaffold, parameter containerColor, dan contentColor sekarang hanya memengaruhi konten. (I992cb)
  • BottomSheetScaffold nestedScroll untuk konten sheet sekarang menerapkan fling. (I992cb)

Versi 1.1.0-beta01

22 Maret 2023

androidx.compose.material3:material3:1.1.0-beta01 dan androidx.compose.material3:material3-window-size-class:1.1.0-beta01 dirilis. Versi 1.1.0-beta01 berisi commit ini.

Perubahan API

  • Tambahkan parameter jenis tata letak ke composable TimePicker. Memungkinkan penggunaan tata letak yang berbeda, bergantung pada konfigurasi layar (Ia0e16)
  • SearchBarDefaults telah ditandai sebagai eksperimental. (I65561)
  • Menambahkan elevasi bayangan ke BottomSheetScaffold (I94e0f)
  • Menambahkan dukungan untuk menampilkan pemilih tanggal tanpa bagian header. Perubahan API memungkinkan penerusan judul null saat membuat pemilih tanggal. Anda kini dapat meneruskan judul, judul, dan showToggleMode = false null untuk menampilkan alat pilih headless. (Id3f3a, b/266132421, b/267194809)

Perbaikan Bug

  • Kotak penelusuran kini otomatis menghapus fokus saat dinonaktifkan. (I22a7c, b/261444487)
  • Memperbarui DateRangePicker agar dapat memilih rentang dengan tanggal yang sama untuk awal dan akhirnya. (I16529, b/272882497)
  • Kolom teks kini memosisikan elemen teks dengan benar jika ukuran font lebih kecil dari yang diharapkan. Ini dapat menyebabkan beberapa perubahan piksel di aplikasi Anda berdasarkan setelan font dan skrip. (I8b8d0)
  • Tindakan semantik sheet bawah kini memiliki label. (I277b0)

Versi 1.1.0-alpha08

8 Maret 2023

androidx.compose.material3:material3:1.1.0-alpha08 dan androidx.compose.material3:material3-window-size-class:1.1.0-alpha08 dirilis. Versi 1.1.0-alpha08 berisi commit ini.

Fitur Baru

  • Menambahkan dukungan untuk BottomSheetScaffold dan BottomSheetScaffoldState. (I063d4)

Perubahan API

  • Menambahkan fungsi ke DatePickerState dan DateRangePickerState untuk memungkinkan penyetelan tanggal setelah pembuatan awal status, serta mereset pilihan dengan menyetel stempel waktu null. Menetapkan tanggal secara manual harus dilakukan dengan hati-hati, dan fungsi setSelection yang baru akan menampilkan pengecualian jika tanggal yang diberikan gagal dalam prasyarat (lihat dokumentasi). (Ifa645, b/268609314, b/270427389)
  • Mengganti nama SheetValue yang Diciutkan menjadi PartiallyExpanded agar dapat menggambarkan perilaku dalam status ini dengan lebih akurat dan fleksibel. (Ia1491)
  • Memperbarui nama parameter ListItem menjadi _content, bukan _text. Pengambil default sekarang adalah ReadOnlyComposables jika relevan. (I69a25)
  • Mendapatkan Surface API interaktif dari eksperimental. (I90d59, b/261561812)

Perbaikan Bug

  • Memperbaiki masalah saat status HalfExpanded ModalBottomSheet salah dihitung dan sheet akan tampak mengambang. (I45e84, b/268411386)
  • Tambahkan pemeriksaan confirmValueChange untuk scrim tap untuk ModalBottomSheet. (I2311a, b/270425759)
  • Pindahkan tindakan BottomSheet semantik ke handle tarik. (I158ba)
  • Perintah ModalBottomSheet kini berfokus pada peluncuran, menangani tombol kembali. (I4d2ab)
  • ModalBottomSheet onDismissRequest kini juga ditangani selama fling scroll bertingkat. (I655c5, b/268433166)

Versi 1.1.0-alpha07

22 Februari 2023

androidx.compose.material3:material3:1.1.0-alpha07 dan androidx.compose.material3:material3-window-size-class:1.1.0-alpha07 dirilis. Versi 1.1.0-alpha07 berisi commit ini.

Fitur Baru

  • Tambahkan composable Time Input yang berfungsi dengan rememberTimePickerState(), yang mengikuti spesifikasi M3 untuk input waktu (Ia4fab)
  • Menambahkan Material 3 DateRangePicker API untuk memilih rentang tanggal. (I7a6c3, b/267194809)
  • Menambahkan dukungan mode input Material 3 untuk memilih rentang tanggal melalui DateRangePicker API. (Ifdbc4)
  • Warna kolom teks kini memungkinkan penyesuaian:
    • Kolom input dan warna teks placeholder berdasarkan fokus dan status error. Parameter textColor telah diganti namanya menjadi unfocusedTextColor, dan placeholderColor diganti namanya menjadi unfocusedPlaceholderColor.
    • Warna penampung untuk kolom teks yang terisi berdasarkan status error dengan parameter errorContainerColor baru.
  • Warna kolom teks menu dropdown yang terekspos telah diperbarui dengan parameter untuk mendukung API awalan dan akhiran yang baru. (I9c8b4, b/254284181, b/264766350)

Perubahan API

  • Mengembalikan beberapa versi Slider API dan menghapus overload Slider yang berlebihan yang dicakup oleh Slider eksperimental baru dengan thumb dan track kustom. Mempromosikan RangeSlider agar stabil. (Ie8fbd)
  • Mengganti nama defaultElevation menjadi elevation dalam fungsi elevasi chip. (I0f872)
  • API kolom teks Material 3 berikut tidak lagi bersifat eksperimental: TextField, OutlinedTextField, textFieldWithLabelPadding, textFieldWithoutLabelPadding, outlinedTextFieldPadding. (Ieb5c0, b/261561819)
  • TimePickers is24Hour menggunakan setelan sistem (I18856)
  • Menghapus anotasi eksperimental dari api scaffold. (Ibb51e, b/261565765, b/261436953)

Perbaikan Bug

  • Bentuk default ModalBottomSheet sekarang selalu SheetDefaults.ExpandedShape. (I0dfca)
  • Peningkatan aksesibilitas untuk DatePicker dan DateRangePicker Material 3. (I5087e)
  • Memperbaiki bug saat batasan tinggi maksimum diterapkan dan dapat mengalami error. (I30d8c)
  • Menghapus peran semantik dari platform yang dapat diklik dan dapat dipilih, serta mengupdate komponen yang menggunakannya untuk menetapkan peran menggunakan modifier.semantics (I793d9)

Versi 1.1.0-alpha06

8 Februari 2023

androidx.compose.material3:material3:1.1.0-alpha06 dan androidx.compose.material3:material3-window-size-class:1.1.0-alpha06 dirilis. Versi 1.1.0-alpha06 berisi commit ini.

Fitur Baru

  • Kolom teks kini mendukung teks awalan dan akhiran (Ia8578, b/179884561)
  • Menambahkan fungsi TimePicker untuk menampilkan pemilih waktu mengikuti spesifikasi Material 3, yang digunakan bersama TimePickerState dan metode yang mempermudah pekerjaan rememberTimePickerState (I71910)
  • Input tanggal kini menjadi mode tampilan di DatePicker. Menambahkan dukungan untuk beralih antara mode pemilih tanggal dan input tanggal. (Ieeff7)
  • Menambahkan API untuk RichTextTooltips. (I58ef3)
  • Implementasi sheet bawah modal untuk Material 3, termasuk ModalBottomSheet dan ModalBottomSheetDefaults. Selain itu, memperkenalkan SheetState dan rememberSheetState yang dapat digunakan untuk komponen sheet pada masa mendatang. (I0853a, b/244189383)

Perubahan API

  • Menstabilkan API showSnackbar (I195c2, b/261424370)
  • Menstabilkan API untuk chip panduan dan chip saran (Ibb67b, b/261424370)
  • Mempromosikan ListItem, ListItemDefaults, dan ListItemColors API menjadi non-eksperimental (I7e7fa, b/261438882)
  • Mempromosikan SliderPositions, SliderDefaults.Thumb, dan SliderDefaults.Track menjadi stabil serta menambahkan Slider dan RangeSlider API non-eksperimental yang berisi thumb dan track kustom. Selain itu, menghentikan penggunaan Slider dan RangeSlider API sebelumnya. (Ie5ea6, b/261566890)
  • Membuat Modifier.tooltipAnchor() menjadi publik, sehingga developer dapat meneruskannya ke anchor untuk menunjukkan tooltip yang harus ditampilkan saat menekan lama. Mengupdate PlainTooltipBox API agar tidak lagi membuat TooltipState nullable dan kini memiliki default. (Ie2fb7)
  • ProgressIndicatorDefaults.circularTrackColor telah ditandai sebagai @Composable demi konsistensi. (Id29cc)
  • Memulihkan pengambil properti LocalMinimuTouchTargetEnforcement dan menandainya sebagai tidak digunakan lagi dan mengalihkan ke LocalMinimumInteractiveComponentEnforcement. (I60dd5)

Versi 1.1.0-alpha05

26 Januari 2023

androidx.compose.material3:material3:1.1.0-alpha05 dan androidx.compose.material3:material3-window-size-class:1.1.0-alpha05 dirilis. Versi 1.1.0-alpha05 berisi commit ini.

Fitur Baru

  • DatePickerDialog dan dukungan aksesibilitas
  • Menambahkan thumb dan track Kustom ke RangeSlider.

Update Dependensi

  • Compose UI dan Compose Material sekarang bergantung pada Lifecycle 2.6.0.

Versi 1.1.0-alpha04

11 Januari 2023

androidx.compose.material3:material3:1.1.0-alpha04 dan androidx.compose.material3:material3-window-size-class:1.1.0-alpha04 dirilis. Versi 1.1.0-alpha04 berisi commit ini.

Fitur Baru

  • DatePicker API awal untuk memilih satu tanggal melalui UI kalender. API ini masih mengalami perubahan. (I722b9)
  • Menambahkan dukungan untuk tooltip biasa melalui PlainTooltipBox. (I0cdfb)
  • Kotak penelusuran (Iad128)
  • SwipeToDismiss (I458a8, b/242889540)

Perubahan API

  • Menambahkan properti semantik IsContainer di Platform. Properti ini akan digunakan dalam perubahan selanjutnya yang menentukan urutan traversal berdasarkan makna semantik elemen seperti platform. (I63379)
  • Menandai API terkait panel navigasi sebagai stabil. (Iab01e, b/261439597)
  • Menambahkan parameter warna track untuk indikator progres melingkar, dan parameter ujung goresan untuk indikator progres melingkar dan linear. (Ie668c, b/216325962, b/222964817)
  • Lebih banyak nullability jenis nilai yang ditampilkan dari fungsi tersembunyi yang tidak digunakan lagi (Ibf7b0)
  • Menambahkan Modifier.minimumInteractiveComponentSize. Ini dapat digunakan untuk menyimpan setidaknya 48.dp untuk membedakan interaksi sentuh jika elemen akan berukuran lebih kecil. (I33f58, b/258495559)
  • Menambahkan API eksperimental untuk composable AlertDialog yang memiliki slot konten. (Iec4a2)

Perbaikan Bug

  • Progres untuk indikator progres kini dikaitkan dengan benar ke rentang yang diharapkan. (I8a7eb, b/262262727)

Masalah Umum

  • Saat mengupdate dari androidx.compose.foundation:1.4.0-alpha03 ke androidx.compose.foundation:1.4.0-alpha04, Anda mungkin mengalami error java.lang.NoSuchFieldError. Masalah awalnya dilaporkan di sini. Perbaikan telah dikirim dan akan tersedia di update Compose berikutnya. Sebagai solusi, update library androidx.compose.material dan androidx.compose.material3 ke versi terbaru (1.1.0-alpha04) atau downgrade androidx.compose.foundation ke 1.4.0-alpha03.

Versi 1.1.0-alpha03

7 Desember 2022

androidx.compose.material3:material3:1.1.0-alpha03 dan androidx.compose.material3:material3-window-size-class:1.1.0-alpha03 dirilis. Versi 1.1.0-alpha03 berisi commit ini.

Perubahan API

  • Mengganti nama consumedWindowInsets() menjadi consumeWindowInsets() dan withConsumedWindowInsets() menjadi onConsumedWindowInsetsChanged(), dan membuat Pengubah menjadi publik. (Ie44e1)
  • Menambahkan padding konten default baru untuk tombol teks dengan ikon yang akan digunakan. (I8f662)
  • Menambahkan warna yang dinonaktifkan untuk menu navigasi dan kolom samping. (Ia7892, b/258867034)
  • Menambahkan Modifier API untuk mengkueri info scroll ancestor. (I2ba9d, b/203141462)
  • Digunakan di Clickable untuk menunda interaksi tekan dengan benar, saat gestur dapat menjadi peristiwa scroll.
  • Memperbaiki Clickables yang tidak menunda ripple dengan benar, saat digunakan di dalam Scrollable ViewGroup.
  • Mengupdate Panel Samping dan Sheet untuk menunda penekanan dengan benar jika gestur dapat menjadi peristiwa scroll.

Update Dependensi

  • Compose UI dan Compose Material sekarang bergantung pada Lifecycle 2.5.1. (I05ab0, b/258038814)

Versi 1.1.0-alpha02

9 November 2022

androidx.compose.material3:material3:1.1.0-alpha02 dan androidx.compose.material3:material3-window-size-class:1.1.0-alpha02 dirilis. Versi 1.1.0-alpha02 berisi commit berikut ini.

Perubahan API

  • awaitFirstDown dan waitForUpOrCancellation kini menerima PointerEventPass untuk fleksibilitas yang lebih besar (juga perbaikan ExposedDropdownMenuBox yang menampilkan menu saat men-scroll).(I7579a, b/212091796)
  • Menambahkan parameter minLines ke dalam material dan material3 Text, TextField, dan OutlinedTextField yang memungkinkan penetapan tinggi minimum komponen dalam jumlah baris (I4af1d)
  • Menghentikan fungsi TopAppBarDefaults smallTopAppBarColors dan menggantinya dengan fungsi topAppBarColors baru yang harus digunakan saat membuat TopAppBar. (Ie6cb9)
  • Menambahkan parameter minLines ke BasicText dan BasicTextField. Perubahan ini memungkinkan untuk menyetel tinggi minimum composable ini dalam jumlah baris (I24294, b/122476634)

Perbaikan Bug

  • Memotong konten Material3 IconButton dan IconToggleBotton ke bentuk lapisan status komponen (mis. bentuk melingkar). (I9da8f)
  • Mengupdate panel aplikasi atas Material3 Medium dan Large untuk menerapkan warna latar belakang yang sama di seluruh platformnya, dan untuk memungkinkan setelan penggantian warna default dengan nilai warna transparan. (I67659, b/249688556, b/250838918)

Versi 1.1.0-alpha01

24 Oktober 2022

androidx.compose.material3:material3:1.1.0-alpha01 dan androidx.compose.material3:material3-window-size-class:1.1.0-alpha01 dirilis. Versi 1.1.0-alpha01 berisi commit ini.

Perbaikan Bug

  • Perbaikan pada panel aplikasi atas saat judul diterapkan dengan TextStyle dan Brush. (If667e)

Versi 1.0

Versi 1.0.1

9 November 2022

androidx.compose.material3:material3:1.0.1 dan androidx.compose.material3:material3-window-size-class:1.0.1 dirilis. Versi 1.0.1 berisi commit ini.

Perbaikan Bug

  • Mengupdate panel aplikasi atas Material3 Medium dan Large untuk menerapkan warna latar belakang yang sama di seluruh platformnya, dan untuk memungkinkan setelan penggantian warna default dengan nilai warna transparan. (I67659, b/249688556, b/250838918)

Versi 1.0.0

24 Oktober 2022

androidx.compose.material3:material3:1.0.0 dan androidx.compose.material3:material3-window-size-class:1.0.0 dirilis. Versi 1.0.0 berisi commit ini.

Fitur utama versi 1.0.0

Ini adalah rilis stabil pertama Compose Material 3!

Tema Desain Material 3 dan warna dinamis Material You

Komponen Desain Material 3

Class Ukuran Jendela

  • material3-window-size-class adalah library baru yang menyediakan dukungan untuk class ukuran jendela: sekumpulan titik henti sementara area pandang tidak berubah yang dapat Anda gunakan untuk mendesain, mengembangkan, dan menguji tata letak aplikasi yang dapat diubah ukurannya. Anda dapat menggunakan calculateWindowSizeClass untuk mengambil instance class ukuran jendela yang dapat digunakan untuk menentukan tampilan UI, seperti menampilkan kolom samping navigasi, bukan navigasi bawah untuk ukuran jendela yang lebih besar. Untuk informasi selengkapnya dan contoh penggunaan, lihat dokumentasi referensi API untuk WindowSizeClass.

  • Lihat postingan blog ini untuk detail selengkapnya.

Versi 1.0.0-rc01

5 Oktober 2022

androidx.compose.material3:material3:1.0.0-rc01 dan androidx.compose.material3:material3-window-size-class:1.0.0-rc01 dirilis. Versi 1.0.0-rc01 berisi commit berikut ini.

Perubahan API

  • Menambahkan parameter slot untuk mendukung teks ke API kolom teks (Iaac0d, b/227146125)

Versi 1.0.0-beta03

21 September 2022

androidx.compose.material3:material3:1.0.0-beta03 dan androidx.compose.material3:material3-window-size-class:1.0.0-beta03 dirilis. Versi 1.0.0-beta03 berisi commit berikut ini.

Perubahan API

  • ExposedDropdownMenuDefaults kini mengekspos nilai padding untuk item menu. (I34ee1)
  • ExposedDropdownMenuBoxScope kini memiliki pengubah Modifier.menuAnchor() yang harus diteruskan ke kolom teks untuk perilaku aksesibilitas yang tepat. (I27fa3)
  • Menambahkan dua metode overload untuk Slider API saat ini agar pengguna dapat meneruskan thumb atau track untuk mengisi penggeser. (I21c00)

Perbaikan Bug

  • Mengupdate pemetaan warna tema gelap untuk On Error Container ke tone 90 (Ic5612)
  • Perbaikan untuk memungkinkan penyetelan latar belakang transparan untuk panel aplikasi atas Material 3 kecil. (I645e2, b/245575782)

Versi 1.0.0-beta02

7 September 2022

androidx.compose.material3:material3:1.0.0-beta02 dan androidx.compose.material3:material3-window-size-class:1.0.0-beta02 dirilis. Version 1.0.0-beta02 berisi commit berikut ini.

Perubahan API

  • Inset komponen default yang diperkenalkan dalam komponen m3 pada versi beta01 tidak lagi memperhitungkan inset IME.
  • Komponen Material3 Scaffold sekarang memiliki parameter contentWindowInsets, yang memungkinkan untuk menentukan jumlah inset yang harus ditangani untuk slot konten. (Icf11a, b/243713323)
  • Tidak lagi menggunakan fungsi SmallTopAppBar Material 3 eksperimental dan memperkenalkan fungsi TopAppBar yang setara. Harap migrasikan penggunaan Anda ke yang baru. (I74404, b/226918634)
  • Menambahkan kontrol terhadap perilaku snap dan ayunkan jari untuk panel aplikasi atas. (I15c81)
  • Menghapus startIndent dari Pembagi, memindahkan warna ke parameter terakhir. (If7be2)

Perbaikan Bug

  • Menyetel Dialog agar dapat mengidentifikasi pengguna talkback dengan mengucapkan kata Dialog saat ditampilkan. (I857ef)

Versi 1.0.0-beta01

24 Agustus 2022

androidx.compose.material3:material3:1.0.0-beta01 dan androidx.compose.material3:material3-window-size-class:1.0.0-beta01 dirilis. Versi 1.0.0-beta01 berisi commit ini.

Referensi API

Untuk melihat tema, komponen, dan composable terbaru lainnya yang tersedia, lihat ringkasan Referensi API Compose Material 3.

Perubahan API

  • Mengupdate panel aplikasi atas Material 3 agar langsung disetel dari status diciutkan sepenuhnya menjadi diperluas sepenuhnya. Selain itu, memperbarui fungsi perilaku TopAppBarDefaults menjadi Composable dan memberikan nilai default untuk status panel aplikasi atas dan spesifikasi animasi. (I642b3)
  • Memperbarui tanda tangan komponen FAB agar sesuai dengan API platform (I3afaa)
  • Menambahkan dukungan Build-in inset untuk Panel aplikasi atas, panel samping, menu navigasi, dan kolom samping. Saat digunakan secara terpisah atau dengan Scaffold, komponen ini akan otomatis menangani inset untuk developer. Catatan: Perubahan ini tidak menambahkan penanganan otomatis ikon status bar dan transparansi status dan menu navigasi. Terus lakukan secara manual untuk memastikan pengalaman dari tepi ke tepi yang terbaik. (I7e4e6, b/183161866)
  • Mengupdate default komponen untuk memperkecil platform API guna meningkatkan performa dan fleksibilitas di masa mendatang. (I31820)
  • Mengurutkan ulang parameter sheet panel navigasi dan chip untuk mempertahankan konsistensi dalam API (I45d0b)
  • Menghapus startIndent dari Pembagi dan memindahkan warna menjadi parameter terakhir.(If7be2)

Versi 1.0.0-alpha16

10 Agustus 2022

androidx.compose.material3:material3:1.0.0-alpha16 dan androidx.compose.material3:material3-window-size-class:1.0.0-alpha16 dirilis. Versi 1.0.0-alpha16 berisi commit ini.

Fitur Baru

  • Mendukung penetapan lebar kustom pada panel navigasi. (Ia7f10)

Perubahan API

  • Mengurutkan ulang parameter tab ikon Utama dan Tab untuk menjaga konsistensi dalam API (Ie2637)
  • Menandai BadgeDefaults sebagai eksperimental. (I98ef3)
  • Menghapus fungsi panel navigasi yang tidak digunakan lagi. (I4f2db)
  • Mengurutkan ulang parameter Penggeser di Material 3 untuk mempertahankan konsistensi dalam API (I0aee7)
  • Mengurutkan ulang parameter NavigationBar dan NavigationRail untuk mempertahankan konsistensi dalam API (I51cda)
  • Mengurutkan ulang parameter di Material 3 untuk mempertahankan konsistensi di seluruh API. (If4ae1)
  • Mengurutkan ulang parameter Penggeser di Material 3 untuk mempertahankan konsistensi dalam API (I62673)
  • Mengganti nama parameter ikon menjadi tindakan agar konsisten dengan panel aplikasi atas (Id75be)
  • Menandai Badge dan BadgedBox sebagai eksperimental karena perataan anchor masih masuk. (I1712e, b/236524516)
  • Mengubah anotasi @ExperimentalMaterial3Api pada varian tombol ikon menjadi @OptIn (I070b5)
  • Memisahkan konten panel navigasi ke composable-nya sendiri untuk mendukung penentuan lebar kustom di composable. (Ia7f10)
  • Menghapus Divider dari MenuDefaults dan TabDefaults (I4e33c)

Versi 1.0.0-alpha15

27 Juli 2022

androidx.compose.material3:material3:1.0.0-alpha15 dan androidx.compose.material3:material3-window-size-class:1.0.0-alpha15 dirilis. Versi 1.0.0-alpha15 berisi commit ini.

Fitur Baru

  • Mengizinkan penarikan panel aplikasi atas dari panel itu sendiri. (I65c00, b/205873416)

Perubahan API

  • Update pada FilterChip API dan ElevatedFilterChip API untuk menghapus slot selectedIcon dan mempromosikan penggunaan kembali leadingIcon untuk menampilkan status yang dipilih. (Ie5dc2)
  • Menambahkan peran warna varian scrim dan outline. (Id6d54)
  • Memperbaiki konvensi penamaan untuk default composable. (I62b27)
  • Menandai ListItemDefaults dan ListItemColors sebagai eksperimental. (I1f3ec)
  • Perubahan pada API panel aplikasi atas untuk lebih mencerminkan makna properti statusnya. Selain itu, menandai API panel aplikasi atas sebagai eksperimental. (Ic0ad8)
  • Warna pemilihan teks kini telah ditambahkan ke TextFieldColors agar lebih mudah ditemukan. (Iba1b8)
  • Menambahkan ButtonDefault.ButtonWithIconContentPadding untuk digunakan dengan tombol yang berisi ikon. (I2bf9c)
  • Kolom teks telah ditandai sebagai eksperimental untuk memungkinkan fleksibilitas yang lebih besar pada perubahan API mendatang. (I127b5)
  • Menghapus anotasi @ExperimentalMaterial3Api dari fungsi Checkbox. (I5eefc)
  • Menghapus anotasi @ExperimentalMaterial3Api dari fungsi RadioButton. (I17e2a)
  • Menghapus anotasi @ExperimentalMaterial3Api dari Kartu non-interaktif. (I9bd49)
  • Memperbarui berbagai objek default komponen untuk menyertakan warna, bentuk, dll. (I96e11)

Perbaikan Bug

  • Menghapus ikon tambahan yang tidak berfungsi dari sampel chip input untuk menghindari kebingungan pengguna di aplikasi katalog. (I9846a)

Versi 1.0.0-alpha14

29 Juni 2022

androidx.compose.material3:material3:1.0.0-alpha14 dan androidx.compose.material3:material3-window-size-class:1.0.0-alpha14 dirilis. Versi 1.0.0-alpha14 berisi commit ini.

Fitur Baru

  • Menambahkan implementasi daftar M3, lihat dokumentasi untuk contoh penggunaan (Id7a20)

Perubahan API

  • Mengubah nama parameter dari values menjadi value di RangeSlider (I3b79a)
  • Perubahan API pada implementasi InputChip untuk mendukung status yang dapat dipilih sesuai spesifikasi Desain Material. Dukungan tambahan pada warna FilterChip untuk status nonaktif yang dipilih. (I55244, b/235792432)
  • Menambahkan FAB default BottomAppBar (Ida4c8)
  • ColorScheme.surfaceColorAtElevation ditambahkan (Id41af)
  • Antarmuka di library Compose kini dibuat menggunakan metode antarmuka default jdk8 (I5bcf1)
  • WindowWidthSizeClass dan WindowHeightSizeClass kini menerapkan Comparable, sehingga dapat dibandingkan menggunakan operator (<, <=, >=, >) dan API lainnya. (I747d0)

Perbaikan Bug

  • Memperbarui contoh badge untuk memberikan deskripsi konten yang lebih bermakna. (I10b9d)
  • Menambahkan opsi untuk menggunakan ukuran font sistem ke alat pilih tema katalog Material 3. (I10605)
  • Menambahkan kode contoh untuk Badge dan indikator progres tidak tentu. (I8fbe0)

Versi 1.0.0-alpha13

1 Juni 2022

androidx.compose.material3:material3:1.0.0-alpha13 dan androidx.compose.material3:material3-window-size-class:1.0.0-alpha13 dirilis. Versi 1.0.0-alpha13 berisi commit ini.

Perubahan API

  • Mendukung mempertahankan posisi panel aplikasi atas di perubahan konfigurasi. (I10459, b/216160958)

Versi 1.0.0-alpha12

18 Mei 2022

androidx.compose.material3:material3:1.0.0-alpha12 dan androidx.compose.material3:material3-window-size-class:1.0.0-alpha12 dirilis. Versi 1.0.0-alpha12 berisi commit ini.

Perbaikan Bug

  • Induk penggeser kini dapat memiliki lebar 0. (b/231707291)

Versi 1.0.0-alpha11

11 Mei 2022

androidx.compose.material3:material3:1.0.0-alpha11 dan androidx.compose.material3:material3-window-size-class:1.0.0-alpha11 dirilis. Versi 1.0.0-alpha11 berisi commit ini.

Fitur Baru

  • Menambahkan RangeSlider ke Material 3 (I18e38)
  • Menambahkan dukungan AssistChip dan InputChip Material3 (I0d25a)
  • Menambahkan dukungan FilterChip dan SuggestionChip Material3 (I9fdf3)

Perubahan API

  • Mengganti nama composable TextFieldDefaults.BorderStroke yang menggambar goresan batas di OutlinedTextField menjadi TextFieldDefaults.BorderBox. (I5f295)
  • Mengalihkan perubahan visual m3 (Iab30e)
  • Mengizinkan penerusan warna ke tombol ikon standar. (Ia2445)

Perbaikan Bug

  • Menambahkan pemeriksaan lint ke material3/Scaffold untuk memastikan bahwa padding bagian dalam sedang digunakan (I72293, b/226951418)

Versi 1.0.0-alpha10

20 April 2022

androidx.compose.material3:material3:1.0.0-alpha10 dan androidx.compose.material3:material3-window-size-class:1.0.0-alpha10 dirilis. Versi 1.0.0-alpha10 berisi commit ini.

Fitur Baru

  • material3-window-size-class adalah library baru yang menyediakan dukungan untuk class ukuran jendela: sekumpulan titik henti sementara area pandang tidak berubah yang dapat Anda gunakan untuk mendesain, mengembangkan, dan menguji tata letak aplikasi yang dapat diubah ukurannya. Anda dapat menggunakan calculateWindowSizeClass untuk mengambil instance class ukuran jendela yang dapat digunakan untuk menentukan tampilan UI, seperti menampilkan kolom samping navigasi, bukan navigasi bawah untuk ukuran jendela yang lebih besar. Untuk informasi selengkapnya dan contoh penggunaan, lihat dokumentasi referensi API untuk WindowSizeClass. Untuk informasi definisi class ukuran jendela selengkapnya, lihat panduan publik terkait mendukung berbagai ukuran layar.

Perubahan API

  • Menambahkan elevasi FAB default untuk BottomAppBar, menghapus lambda akhir dari BottomAppBar dengan FAB. (I92c47)
  • Menambahkan Material3 FilledIconButton, FilledTonalIconButton, dan OutlinedIconButton. (Ib2bda)
  • Mengupdate Material 3 Snackbar API untuk menerima nilai warna bagi tindakan opsional dan tindakan menutup. (Ibe4b4)
  • Konsumsi parsial (posisi OR turun) tidak digunakan lagi di PointerInputChange. Anda dapat menggunakan consume() untuk sepenuhnya memakai perubahan. Anda dapat menggunakan isConsumed untuk menentukan apakah orang lain sudah pernah memakai perubahan tersebut sebelumnya.
  • PointerInputChange::copy() kini selalu membuat shallow copy. Ini berarti bahwa salinan PointerInputChange akan dipakai setelah salah satu salinan tersebut digunakan. Jika Anda ingin membuat PointerInputChange yang tidak terikat, gunakan konstruktor. (Ie6be4, b/225669674)
  • Perubahan pada API Cards untuk menerima warna penampung dan konten melalui antarmuka CardColors, dan untuk mendukung status dinonaktifkan untuk kartu yang dapat diklik. (I927df)
  • Parameter backgroundColor telah diganti namanya menjadi containerColor di kolom teks Material 3 agar lebih konsisten dengan komponen lain. (I6fbd9)

Perbaikan Bug

  • Mengupdate ke IconButton standar untuk menyesuaikannya dengan spesifikasi Material3. (I09eab)
  • Memindahkan tinggi panel atas material3 Scaffold ke dalam padding yang diteruskan ke konten, sehingga konten dapat dirender di bawah panel aplikasi atas. Jika PaddingValues diabaikan, konten mungkin akan tertutup oleh panel atas. (I83cbc, b/217776202)

Versi 1.0.0-alpha09

6 April 2022

androidx.compose.material3:material3:1.0.0-alpha09 dirilis. Versi 1.0.0-alpha09 berisi commit berikut ini.

Fitur Baru

  • Menambahkan Material 3 Switch API (I2c3ad)

Perubahan API

  • Menambahkan dukungan untuk menu drop-down dengan kolom teks (alias 'menu dropdown yang ditampilkan' atau 'kotak kombinasi'). (I1b832)
  • Menambahkan parameter bentuk ke subsistem MaterialTheme dan Shape. (I37426)
  • Menambahkan parameter yang diperluas ke ExtendedFloatingActionButton untuk mengontrol apakah FAB diperluas atau diciutkan, dengan animasi di antara setiap status. Menambahkan Overload FAB yang diperpanjang untuk FAB yang diperluas dengan teks tambahan untuk ExtendedFAB tanpa ikon. (Iba7f1)

Versi 1.0.0-alpha08

23 Maret 2022

androidx.compose.material3:material3:1.0.0-alpha08 dirilis. Versi 1.0.0-alpha08 berisi commit ini.

Fitur Baru

Perubahan API

  • Menambahkan pembagi default untuk menu (I01374)
  • Menambahkan parameter warna surfaceTint ke class ColorScheme. (I2f558)

Perbaikan Bug

  • Memperbaiki Tombol Material3 untuk membaca nilai gaya teks defaultnya dari MaterialTheme. (Ie62fc)

Versi 1.0.0-alpha07

9 Maret 2022

androidx.compose.material3:material3:1.0.0-alpha07 dirilis. Versi 1.0.0-alpha07 berisi commit ini.

Perubahan API

  • Update pada Material 3 Surface API yang menghadirkan kembali fungsi kelebihan beban untuk Platform yang dapat diklik, serta menambahkan fungsi untuk mendukung Platform yang dapat dipilih dan diganti. (I4bf18)
  • LazyVerticalGrid dan LazyHorizontalGrid kini stabil. (I307c0)
  • LazyVerticalGrid/LazyHorizontalGrid dan semua API terkait dipindahkan ke sub-paket .grid. Update impor Anda dari androidx.compose.foundation.lazy ke androidx.compose.foundation.lazy.grid. (I2d446)
  • Mengembalikan perubahan sebelumnya yang hanya mengandalkan View untuk WindowInsetsControllerCompat, dan sekali lagi memerlukan Window yang diperlukan untuk mengelola beberapa flag jendela. ViewCompat.getWindowInsetsController tidak digunakan lagi dan diganti dengan WindowCompat.getInsetsController untuk memastikan bahwa Window yang benar digunakan (seperti jika View ada dalam dialog). (I660ae, b/219572936)
  • Menambahkan LazyVerticalGrid API baru untuk menentukan ukuran sumbu silang (I17723)

Perbaikan Bug

  • Update pada Card API untuk mengikuti perubahan di Platform API (I3c8b9)

Versi 1.0.0-alpha06

23 Februari 2022

androidx.compose.material3:material3:1.0.0-alpha06 dirilis. Versi 1.0.0-alpha06 berisi commit ini.

Perubahan API

  • NavigationDrawerItem ditambahkan yang mewakili satu tujuan dalam panel samping (Ic396f, b/218286829)
  • PermanentNavigationDrawer dan DismissibleNavigationDrawer telah ditambahkan sebagai API eksperimental. Keduanya adalah panel samping yang cocok untuk perangkat layar besar. (I5f8ab, b/218286829)
  • Menambahkan dukungan panel aplikasi bawah Material 3 (Ic432a)
  • NavigationDrawer diganti namanya menjadi ModalNavigationDrawer (I1807d, b/218286829)
  • Menambahkan class dan token Penggeser Material 3 (I1ccee)
  • Menambahkan implementasi Tab, lihat dokumentasi untuk contoh penggunaan (Ie0146)

Perbaikan Bug

  • Memperbaiki masalah saat navigasi linier pembaca layar TalkBack memilih judul panel aplikasi atas yang kosong. (Id4690)
  • Menambahkan IconSize ke FloatingActionButtonDefaults. (Ia71cf)
  • Perbaikan bug untuk tombol AlertDialog yang tersembunyi saat teks panjang ditambahkan dengan LazyColumn. (Ib2cc9, b/216663029)

Versi 1.0.0-alpha05

9 Februari 2022

androidx.compose.material3:material3:1.0.0-alpha05 dirilis. Versi 1.0.0-alpha05 berisi commit ini.

Fitur Baru

Menambahkan komponen Desain Material 3

Perubahan API

  • Fungsi Surface yang tidak digunakan lagi dan menggunakan callback onClick. Platform yang dapat diklik harus dibuat dengan InteractionSource dan Modifier.clickable(). (I211c6)
  • Menambahkan dukungan elevasi yang ditekan dan difokuskan untuk FAB. (Ibb584)
  • Mengubah Surface API untuk menerima InteractionSource yang memungkinkan mengontrol tampilannya dalam berbagai status. (Iafbc8)

Perbaikan Bug

  • Menambahkan warna tersier yang hilang dalam skema warna dinamis (I456c4, b/214588434)

Versi 1.0.0-alpha04

26 Januari 2022

androidx.compose.material3:material3:1.0.0-alpha04 dirilis. Versi 1.0.0-alpha04 berisi commit ini.

Perubahan API

  • Menambahkan NonRestartableComposable ke metode yang membebani metode yang ada tanpa logika yang kompleks. Tindakan ini akan mengurangi pemeriksaan memoisasi yang dihasilkan compiler (sama dengan) untuk semua parameter yang diulang dalam fungsi internal yang dipanggil. (I90490)
  • Menambahkan pemisah Material 3. (Ica5fc)
  • Menandai Checkbox dan RadioButton dengan anotasi API eksperimental. (Ie44bb)
  • Menambahkan dukungan untuk indikator progres Material 3. (Iff232, b/205023841)

Perbaikan Bug

  • Memperbarui warna penampung TextButton's yang dinonaktifkan agar menjadi transparan (I6b248, b/213339737)

Versi 1.0.0-alpha03

12 Januari 2022

androidx.compose.material3:material3:1.0.0-alpha03 dirilis. Versi 1.0.0-alpha03 berisi commit ini.

Perbaikan Bug

Update Dependensi

  • Sekarang bergantung pada Kotlin 1.6.10.

Versi 1.0.0-alpha02

1 Desember 2021

androidx.compose.material3:material3:1.0.0-alpha02 dirilis. Versi 1.0.0-alpha02 berisi commit ini.

Fitur Baru

  • Menambahkan dukungan untuk kotak centang dan tombol pilihan.
  • Diupdate agar kompatibel dengan Kotlin 1.6.0

Perubahan API

  • Menghapus panel samping dari scaffold Material 3. (I04f51)
  • Menambahkan dukungan Checkbox Material 3. (Id5542)
  • Menambahkan dukungan RadioButton Material 3. (I20334)

Perbaikan Bug

  • Mengurangi radius ripple IconButton dari 40 dp menjadi 20 dp. (I68bbe, b/206674345)
  • Jalur cepat string port untuk perubahan Text dari compose.material (I30b03)
  • Memperbaiki error tombol hardcode agar selalu aktif. (Iea832, b/205335456)

Versi 1.0.0-alpha01

27 Oktober 2021

androidx.compose.material3:material3:1.0.0-alpha01 dirilis. Versi 1.0.0-alpha01 berisi commit ini.

Fitur Baru

Tema Desain Material 3 dan warna dinamis Material You

Komponen Desain Material 3

Untuk informasi selengkapnya, lihat bagian Desain Material 3 dan Material You di panduan Tema Material dalam Compose.