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
8 Februari 2023 1.0.1 - - 1.1.0-alpha06

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.1.0"
    implementation "androidx.compose.material3:material3-window-size-class:1.1.0"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.material3:material3:1.1.0")
    implementation("androidx.compose.material3:material3-window-size-class:1.1.0")
}

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.

Versi 1.1

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.

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.