Compose Material 3
Update Terbaru | Rilis Stabil | Kandidat Rilis | Rilis Beta | Rilis Alfa |
---|---|---|---|---|
12 Desember 2024 | 1.3.1 | - | - | 1.4.0-alpha05 |
Struktur
Compose adalah kombinasi tujuh ID Grup Maven dalam androidx
. Setiap Grup
berisi subkumpulan fungsi yang ditargetkan, masing-masing dengan kumpulan catatan
rilisnya sendiri.
Tabel ini menjelaskan grup tersebut dan disertai link ke setiap kumpulan catatan rilis.
Grup | Deskripsi |
---|---|
compose.animation | Mem-build animasi di aplikasi Jetpack Compose untuk memperkaya pengalaman pengguna. |
compose.compiler | Mentransformasi fungsi @Composable dan mengaktifkan pengoptimalan dengan plugin compiler Kotlin. |
compose.foundation | Menulis aplikasi Jetpack Compose dengan elemen penyusun siap pakai dan memperluas dasar untuk mem-build bagian sistem desain Anda sendiri. |
compose.material | Mem-build UI Jetpack Compose dengan Komponen Desain Material siap pakai. Ini adalah titik entri pada tingkat yang lebih tinggi untuk Compose, yang dirancang untuk menyediakan komponen yang cocok dengan yang dijelaskan di www.material.io. |
compose.material3 | Mem-build UI Jetpack Compose dengan Komponen Desain Material 3, evolusi berikutnya dari Desain Material. Material 3 menyertakan tema dan komponen yang diperbarui serta fitur personalisasi Material You, seperti warna dinamis. Material 3 juga didesain agar selaras dengan gaya visual dan UI sistem Android 12 yang baru. |
compose.runtime | Elemen penyusun yang penting untuk model pemrograman dan pengelolaan status Compose, serta runtime inti untuk ditargetkan oleh Plugin Compose Compiler. |
compose.ui | Komponen dasar compose UI yang diperlukan untuk berinteraksi dengan perangkat, termasuk tata letak, gambar, dan input. |
Mendeklarasikan dependensi
Untuk menambahkan dependensi pada Compose, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk informasi selengkapnya.
Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle
bagi aplikasi atau modul Anda:
Groovy
dependencies { implementation "androidx.compose.material3:material3:1.3.1" implementation "androidx.compose.material3:material3-window-size-class:1.3.1" implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha04" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.material3:material3:1.3.1") implementation("androidx.compose.material3:material3-window-size-class:1.3.1") implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha04") } 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.
Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.
Compose Material3 Common Versi 1.0
Versi 1.0.0-alpha01
17 April 2024
androidx.compose.material3:material3-common:1.0.0-alpha01
, androidx.compose.material3:material3-common-android:1.0.0-alpha01
, dan androidx.compose.material3:material3-common-desktop:1.0.0-alpha01
dirilis. Versi 1.0.0-alpha01 berisi commit ini.
Fitur Baru
Komponen tanpa tema yang dapat digunakan untuk mem-build komponen Desain Material:
- Palet Nuansa
- Ikon
- Ukuran target sentuh
Compose Material3 Adaptive Navigation Suite Versi 1.0
Versi 1.0.0-alpha07
1 Mei 2024
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha07
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha07
, dan androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha07
dirilis. Versi 1.0.0-alpha07 berisi commit ini.
Perubahan API
- Membuat API suite navigasi menjadi non-eksperimental (If62af)
Perbaikan Bug
- Menggunakan inset untuk konten secara default (50266df)
Versi 1.0.0-alpha06
17 April 2024
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha06
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha06
, dan androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha06
dirilis. Versi 1.0.0-alpha06 berisi commit ini.
Perubahan API
- Menambahkan
containerColor
dancontentColor
keNavigationSuiteScaffoldDefaults
. (I64e3a, b/331993720) - Menambahkan fungsi
itemColors
keNavigationSuiteDefaults
. (Idf719, b/328480012) - Membuat
NavigationSuiteScope
disegel. (Iefa57)
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
- Menjadikan 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
- Perbarui dependensi adaptif Material3 ke jalur modul baru. (Ibc421)
- Bermigrasi untuk menggunakan class ukuran jendela versi Window Manager. (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 sehingga kini mengeksposMutableInteractionSource
nullable yang ditetapkan secara default ke null. Tidak ada perubahan semantik di sini: meneruskan null berarti Anda tidak ingin mengangkatMutableInteractionSource
, danMutableInteractionSource
akan dibuat di dalam komponen jika diperlukan. Mengubah ke null memungkinkan beberapa komponen tidak pernah mengalokasikanMutableInteractionSource
, dan memungkinkan komponen lain hanya membuat instance secara lambat saat diperlukan, yang meningkatkan performa di seluruh komponen ini. Jika Anda tidak menggunakanMutableInteractionSource
yang diteruskan ke komponen ini, sebaiknya teruskan null. Sebaiknya Anda juga membuat perubahan serupa di 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
- Menambahkan
NavigationSuiteType
'None' (If8cb1, b/313688598)
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 kesadaran histori di navigasi scaffold dan penghitungan 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 dari tepi ke tepi di scaffold panel (I1b462)
Perubahan API
- Memindahkan properti batas engsel di Postur ke daftar info engsel (I24f90)
Perbaikan Bug
- Memperbaiki
AnimatedPane
yang tidak direkomposisi (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
Perbaikan Bug
- Memperbaiki panel yang tidak diubah 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:
- API dasar scaffold panel
Compose Material3 Versi 1.4
Versi 1.4.0-alpha05
12 Desember 2024
androidx.compose.material3:material3-*:1.4.0-alpha05
dirilis. Versi 1.4.0-alpha05 berisi commit ini.
Perubahan API
- Mengganti jenis dalam nilai
WideNavigationRailState.current/target
untuk enum agar lebih mudah dibaca (I2d6ab) SplitButton
mengubah Shape API dari class data menjadi class untuk kompatibilitas biner. (I53812)- Menambahkan API tooltip yang memiliki parameter
onDismissRequest
sehingga pembuat dapat memutuskan apa yang terjadi saat pengguna mengklik di luar tooltip. Tidak lagi menggunakan API lama yang tidak berisi parameter baru ini. (I99aef) - Ubah penamaan
opticalCentering
menjadihorizontalCenterOptically
. Membuat pengubah secara internal. Ganti parameter padding dengan offset awal dan akhir maksimum. (I0b904) - Mengubah
WideNavigationRailState
agar memiliki nilai saat ini/target, menghapus enum dan menggantinya dengan boolean. (Idfa29, b/356039090) - Menambahkan
NavigationBarItemComponentOverride
. (I3a06a)
Perbaikan Bug
- Memperbaiki perilaku panel aplikasi atas dan bawah untuk mengubah warna dengan andal saat konten di-scroll sepenuhnya. (Idc4e8, b/293665988)
- Fungsi perilaku scroll untuk panel aplikasi atas dan bawah kini menampilkan perilaku yang diingat untuk berperforma lebih baik di seluruh rekomposisi. (I0fdbe, b/207957336)
- Parameter pengubah kini diterapkan setelah pengubah internal seperti perilaku dan semantik menarik, bukan sebelumnya. Hal ini memengaruhi urutan penerapan pengubah. (I8d83f)
- Sheet bawah yang diluaskan tetap diluaskan saat ukuran berubah. (I2870b, b/324934884)
- Merutekan status dan flag menu navigasi dengan benar untuk properti jendela. (Ie674d, b/362539765)
- Pindahkan parameter pengubah ke root scaffold, seperti yang didokumentasikan. Hal ini menyelaraskan penerapan dengan M2. (I0235e, b/372311595)
Kontribusi Eksternal
- Fungsi
DatePickerDialog
yang dikomunalkan. (I7dced)
Versi 1.4.0-alpha04
13 November 2024
androidx.compose.material3:material3-*:1.4.0-alpha04
dirilis. Versi 1.4.0-alpha04 berisi commit ini.
Perubahan Perilaku
- Mengembalikan perubahan warna yang diperkenalkan di aosp/3212478 ke
iconButtonColors
,iconToggleButtonColors
,outlinedIconButtonColors
,outlinedIconToggleButtonColors
, danoutlinedIconToggleButtonBorder
. Memindahkan perilaku yang kini dibalik ke kumpulan fungsi baru yang disebuticonButtonVibrantColors
dan seterusnya untuk menekankan warna kontras tinggi yang ditampilkan. (Iffd8d)
Fitur Baru
- Memperkenalkan komponen
VerticalDragHandle
(I6c770)
Perubahan API
- Mengganti nama
DismissibleModalWideNavigationRailDefaults
menjadiModalWideNavigationRailDefaults
. (I8e877) - Menambahkan
NavigationBarComponentOverrides
. (I8a3f3) - Menambahkan
NavigationRailComponentOverride
. (I83e13) - Memperkenalkan
WideNavigationRailState
untuk menangani penyingkatan/pembesaran kolom samping, memungkinkanModalWideNavigationRail
ditutup, dan menghapusDismissibleModalWideNavigationRail
. (I88568) - Menambahkan ukuran default xSmall, medium, large, dan xLarge ke default tombol tombol. (Ie95d1)
- Menambahkan ukuran default xSmall, sedang, besar, dan xLarge ke default tombol. (If8b6d)
Perbaikan Bug
- Warna ikon akhir chip filter telah diperbarui dari Primer menjadi
OnSurfaceContainer
, sesuai spesifikasi. Semua warna garis tepi chip telah diperbarui dari Garis Tepi menjadi Varian Garis Tepi, sesuai spesifikasi. (I68bd4)
Versi 1.4.0-alpha03
30 Oktober 2024
androidx.compose.material3:material3-*:1.4.0-alpha03
dirilis. Versi 1.4.0-alpha03 berisi commit ini.
Perubahan API
- Konstruktor
SheetState
dengan kepadatan tidak digunakan lagi dan digantikan dengan nilai minimum posisi dan kecepatan. (Ifd16e) - Menambahkan
rememberTooltipPositionProvider
yang berisi logika pemosisian yang diperbarui. Menghentikan penggunaanrememberPlainTooltipPositionProvider
danrememberRichTooltipPositionProvider
. (Ie66e2) ModalBottomSheetProperties
tambahan memungkinkan penyesuaian warna status dan menu navigasi. Secara default, pembaruan ini didasarkan pada warna konten, bukan status tema gelap sistem. (Ib874e, b/362539765)- Meningkatkan pengalaman input untuk pemilih tanggal: saat dalam mode input, kolom teks tanggal akan difokuskan untuk entri teks langsung. Perubahan ini menambahkan parameter
requestFocus
keDatePicker
danDateRangePicker
. Anda dapat mencegah fokus dengan meneruskanfalse
. (I12d09, b/286399710, b/340102743) - Menyimpan cache bentuk default ke dalam objek Shape. Membuat bentuk default
@Composable
untuk tombol tombol. Menciutkan bentuk menjadi satu bentuk default karena varian mengarah ke file token yang sama. (Iaa014)
Perbaikan Bug
- Optimalkan perilaku
contentPadding
Scaffold agar tidak selalu merekomposisi konten isi saatcontentPadding
berubah. (I8c8e2, b/373904168) TextFieldLabelScope
progress
diganti namanya menjadilabelMinimizedProgress
TextFieldLabelPosition
Default
diganti namanya menjadiAttached
. Anggota antarmuka telah dihapus. (If75c6)- Memperbaiki masalah pada
DatePicker
dalam mode input saat error validasi dapat menyebabkan tinggi komponen berubah. (I2e229, b/280462363) - Membuat penggeser material mengubah nilainya saat tombol kontrol ditekan. (I1c442)
Versi 1.4.0-alpha02
16 Oktober 2024
androidx.compose.material3:material3-*:1.4.0-alpha02
dirilis. Versi 1.4.0-alpha02 berisi commit ini.
Perubahan API
- Pembaruan pada pemilih tanggal untuk memastikan penggunaan Lokalitas yang konsisten di seluruh
DatePicker
danDateRangePicker
saat menyetel Lokalitas langsung melaluiDatePickerState
atauDateRangePickerState
. Perhatikan bahwa saat menetapkan Lokalitas langsung ke status, Anda harus memastikan bahwa teks judul dan judul utama dilokalkan dengan benar, karena teks defaultnya akan tetap diterapkan sesuai dengan Lokalitas platform default. (I37073, b/326490763, b/321657276) SheetState.isAnimationRunning
kini diekspos. (I9a3d7)DatePickerColors
kini lebih diutamakan daripada warna yang bertentangan yang ditentukan pada gaya teks Tipografi tema. Perhatikan juga bahwa update ini menyesuaikan posisi parametercolor
dalam fungsi pemilih tanggal dan memperkenalkan parametercontentColor
untuk menyesuaikan warna teks header dan judul. (I30d03, b/347031394)- Ganti nama
SplitButton
menjadiSplitButtonLayout
dan hapus API varian warnaSplitButton
, varian akan dicapai dengan menggunakan kembali varian tombol yang disediakan olehSplitButtonDefaults
. (I44c36) ModalBottomSheet
kini memiliki parametersheetGestureEnabled
(I856cb, b/288211587)- Mengganti nama
standardMotionScheme
danexpressiveMotionScheme
menjadi standar dan ekspresif. Kedua fungsi tersebut kini dapat diakses melalui objek pendampingMotionScheme
dengan memanggilMotionScheme.standard()
danMotionScheme.expressive()
. (Iceccf) - Menambahkan parameter
maxWidth
ke tooltip biasa dan kaya. Secara default, spesifikasi desainnya adalah 200 dp untuk tooltip biasa dan 320 dp untuk tooltip lengkap. (I30ce9)
Perbaikan Bug
DatePicker
danDateRangePicker
kini memperbarui bulan yang ditampilkan dengan benar saat ditetapkan melaluidisplayedMonthMillis
statusnya. (If9e47, b/333414302)- Konten
ModalBottomSheet
kini memindahkan konten dari status bar. (I5114c, b/321877275, b/336962418, b/342093067) - [Sheet Bawah] Ubah kembali prioritas callback ke
PRIORITY_DEFAULT
untuk mengizinkan keyboard IME ditutup terlebih dahulu. (I447fb) - Memperbaiki error di
DatePicker
danDateRangePicker
saat tahun minimum yang dapat dipilih ditetapkan ke tahun mendatang. (I78656, b/319395747) - Memperbaiki masalah pemilih tanggal untuk mengupdate UI saat instance
SelectableDates
yang diperbarui diterapkan. (Iad59a, b/290135807, b/339898760)
Versi 1.4.0-alpha01
2 Oktober 2024
androidx.compose.material3:material3-*:1.4.0-alpha01
dirilis. Versi 1.4.0-alpha01 berisi commit ini.
Perubahan Perilaku
- Library tidak lagi menambahkan dependensi ke
material-icons-core
sehingga jika project Anda mengandalkannya, Anda harus menambahkan dependensi tersebut secara eksplisit dalam filebuild.gradle[.kts]
. (I735ff, b/349894318) - Warna label aktif
NavigationBarItem
danNavigationRailItem
berubah darionSurface
menjadisecondary
untuk meningkatkan kegunaan, kontras warna, dan meningkatkan koherensi dalam sistem (Ibc297), untuk kembali ke perilaku sebelumnya, salin warna default dan ubahselectedTextColor
menjadiMaterialTheme.colorScheme.onSurface
. - Komponen Material 3 kini menggunakan
MotionScheme
baru untuk menentukan gerakannya. (Ie0f93) - Perubahan gerakan Indikator Progres melingkar tidak tentu (I3c07e)
- Perbarui
OutlinedIconButtonColors
danOutlinedIconToggleButtonColors
untuk kontras warna yang lebih baik. (I2743d) - Memperbarui warna konten dan penampung untuk
FilledIconToggleButtonColors
danFilledTonalIconToggleButtonColors
. (Ic5d0f) - Memperbarui warna batas
OutlinedButton
darioutline
menjadioutlineVariant
. (057f00)
Perubahan API
- Menambahkan parameter
reverseLayout
opsional ke fungsienterAlwaysScrollBehavior
TopAppBar
untuk lebih mendukung konten yang ditetapkan denganreverseLayout
. (I4e0e5) SegmentedButton
kini mendukung argumencontentPadding
. (I5ad91, b/358414376)PullToRefreshState
tidak lagi memiliki implementasi default untukisAnimating
(I6a593)- Menambahkan overload baru dari Material
TextField
danOutlinedTextField
yang menggunakanTextFieldState
. Menambahkan API kotak dekorasi yang kompatibel denganTextFieldDecorator
. (If13a1) - Menambahkan parameter untuk mengontrol
labelPosition
kolom teks. PenggunaanalwaysMinimize
memungkinkan pola UI menampilkan label dan placeholder di kolom teks secara bersamaan meskipun kolom tidak difokuskan. (I1ef2c) - Menambahkan Material
SecureTextField
danOutlinedSecureTextField
untuk kolom entri sandi. (I7e22d) - Menambahkan cakupan ke label kolom teks untuk mengkueri progres animasi. (If5ec8)
- Menambahkan dukungan untuk
MotionEvent.CLASSIFICATION_DEEP_PRESS
ke tooltip. (I62e6a) isAfternoon
TimePickerState
kini menjadi val ekstensi, bukan var di antarmuka, yang diganti namanya menjadiisPm
(I89a97)- Memperbarui class tipografi untuk mendukung skala huruf yang ditekankan. (Ifa13c)
- Menambahkan
ModalWideNavigationRail
API dan mengganti namaModalExpandedNavigationRail
API menjadiDismissibleModalWideNavigationRail
. (Ic9118) - Memperbarui
FloatingAppBarScrollBehavior
untuk menghitungscreenOffset
secara otomatis dan tidak memerlukan@Composable
. (Idf349) - Update pada
LoadingIndicator
API untuk memperbaiki penamaan pada objek default-nya. Menambahkan konstantaLoadingIndicatorElevation
diPullToRefresh
. (I1d72b) - Update pada
LoadingIndicator
API untuk memperbaiki penamaan pada objek default-nya. Menambahkan konstantaLoadingIndicatorElevation
diPullToRefresh
. (I1d72b) - Menambahkan parameter
amplitude
danwaveSpeed
ke variasi yang tidak ditentukan dariLinearWavyProgressIndicator
danCircularWavyProgressIndicator
. (I2a0c5) - Mendukung perubahan bentuk tombol ikon berdasarkan status ditekan atau dicentang. (Ibc781)
- Memperbarui class tipografi untuk mendukung skala huruf yang ditekankan. (Ifa13c)
- Bentuk
SplitButton
berubah berdasarkan status default / ditekan. MenghapusAnimatedTrailingButton
API karenaTrailingButton
API dapat menawarkan penyesuaian yang sama (I95066) - Menambahkan pengubah untuk menganimasikan tampilan dan penyembunyian FAB, misalnya saat konten di-scroll. (I8338d)
- Menambahkan bentuk dan spasi grup tombol yang terhubung ke
ButtonGroupDefaults
untuk digunakan dalam sampel. (I68e30) - Tombol terpisah menambahkan padding horizontal untuk tombol akhir dan mengaktifkan pemusatan optik yang dihitung dari perbedaan sudut awal dan akhir (I122e2)
- Memperkenalkan Material
MotionScheme
baru untuk memungkinkan penetapan skema untuk gerakan komponen. Skema ditetapkan melaluiMaterialTheme
. (Id50c2)
Perbaikan Bug
- Terapkan indeks traversal fokus yang benar ke Composable turunan
Scaffold
. Urutan adalahtopBar
,bottomBar
, fab, konten, snackbar. (I5936b) - Memperbaiki masalah di
DatePicker
danDateRangePicker
, yaitu di lokalitas dan kerangka format tertentu, beberapa elemen tanggal (misalnya nama bulan) tidak diawali dengan huruf kapital. (I1430f) - Mengintegrasikan token komponen Menu FAB dan FAB (pembaruan visual minor pada padding dan teks) (Ib57f3)
ModalBottomSheet
kini berada di urutan pertama dalam urutan traversal semantik, diikuti dengan scrim. (I436f9, b/358594665)- Memperbaiki panel aplikasi bawah yang tidak sepenuhnya menghilang saat men-scroll di bawah pil navigasi dalam mode dari tepi ke tepi (I3ee21)
Compose Material3 Versi 1.3
Versi 1.3.1
30 Oktober 2024
androidx.compose.material3:material3-*:1.3.1
dirilis. Versi 1.3.1 berisi commit ini.
Perbaikan Bug
DatePicker
danDateRangePicker
kini memperbarui bulan yang ditampilkan dengan benar saat ditetapkan melaluidisplayedMonthMillis
statusnya. (If9e47, b/333414302)- Memperbaiki error di
DatePicker
danDateRangePicker
saat tahun minimum yang dapat dipilih ditetapkan ke tahun mendatang. (I78656, b/319395747) - Memperbaiki masalah pemilih tanggal untuk mengupdate UI saat instance
SelectableDates
yang diperbarui diterapkan. (Iad59a, b/290135807, b/339898760) - Ubah kembali prioritas callback yang digunakan oleh sheet bawah ke
PRIORITY_DEFAULT
untuk mengizinkan keyboard IME ditutup terlebih dahulu. (I447fb)
Versi 1.3.0
4 September 2024
androidx.compose.material3:material3-*:1.3.0
dirilis. Versi 1.3.0 berisi commit ini.
Perubahan penting sejak versi 1.2.0
Fitur utama 1.3.0
Komponen Desain Material 3 baru
- Carousel
HorizontalMultiBrowseCarousel
danHorizontalUncontainedCarousel
Peningkatan pada komponen Desain Material 3 yang ada.
- [
ModalBottomSheet
] kini mendukung Kembali Prediktif di U+ (Iccf32, b/281967264, b/304850357) - [
SearchBar
] kini mendukung Kembali Prediktif di U+ (I657f8) - Panel Navigasi (
ModalDrawerSheet
danDismissibleDrawerSheet
) kini mendukung Kembali Prediktif di U+ sebagai keikutsertaan (Ie5b0b) DropdownMenu
kini mendukung warna, bentuk, elevasi, dan batas kustom. (I8e981,b/289554448, b/301887035, b/283654243)- Memperbarui penggeser untuk meningkatkan aksesibilitas dengan menambahkan indikator jeda dan berhenti. (I3058e)
- Memperbarui
ProgressIndicator
untuk meningkatkan aksesibilitas dengan menambahkan indikator jeda dan perhentian. (I21451) - Menambahkan tanda kurung siku default untuk tooltip lengkap, mendukung tanda kurung siku kustom yang akan digambar dengan anchor
LayoutCoordinates
tertentu. (Ifd42c) Perubahan yang Dapat Menyebabkan Gangguan - API pull-to-refresh baru:
- Menyederhanakan
PullToRefreshState
untuk menggunakan nilai pecahan, bukan unit Dp. - Status
isRefreshing
dikontrol oleh pengguna, bukanPullToRefreshState
. - Memisahkan koneksi scroll bertingkat dari
PullToRefreshState
. Proses ini ditangani olehPullToRefreshBox
atauModifier.pullToRefresh
baru. - Update ini adalah perubahan yang dapat menyebabkan gangguan pada API eksperimental sebelumnya. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683) Perubahan yang Membatalkan Visual
- Menyederhanakan
- Perbarui overlay status fokus menjadi 0,1f untuk memastikan kontras warna yang memadai. (I7ea77)
- Penyesuaian kecil pada warna default permukaan dan latar belakang di
lightColorScheme
dandarkColorScheme
. (I9db52) - Memperbarui warna Slider dan
ProgressIndicator
agar mengikuti spesifikasi Kontras Non-Teks yang baru. (I26807) - Varian
SurfaceContainer
kini digunakan oleh komponen. Komponen yang secara formal menghitung warna denganSurface
danTonalElevation
kini menggunakan peranSurfaceContainer
secara default, yang tidak terpengaruh oleh elevasi tonal. (b/304584161) - Peran dasar bawaan Penampung dan Permukaan telah sedikit disesuaikan, sehingga memberikan lebih banyak tint dalam tema terang dan gelap. (I677a5)
- Mempromosikan API eksperimental menjadi stabil.
- Peningkatan performa
Versi 1.3.0-rc01
21 Agustus 2024
androidx.compose.material3:material3-*:1.3.0-rc01
dirilis. Versi 1.3.0-rc01 berisi commit ini.
Perbaikan Bug
ModalBottomSheet
kini berada di urutan pertama dalam urutan traversal semantik, diikuti dengan scrim. (I436f9, b/358594665)
Versi 1.3.0-beta05
24 Juli 2024
androidx.compose.material3:material3-*:1.3.0-beta05
dirilis. Versi 1.3.0-beta05 berisi commit ini.
- Memperbaiki masalah saat konten
BottomSheet
tidak ada atau terpotong di Android N dan O (a10a2d) - Meningkatkan batas semantik penggeser agar
TalkBack
dapat menampilkan indikator fokus di sekitar thumb dengan benar. (0b5a1d)
Versi 1.3.0-beta04
26 Juni 2024
androidx.compose.material3:material3-*:1.3.0-beta04
dirilis. Versi 1.3.0-beta04 berisi commit ini.
Versi 1.3.0-beta03
12 Juni 2024
androidx.compose.material3:material3-*:1.3.0-beta03
dirilis. Versi 1.3.0-beta03 berisi commit ini.
Kontribusi Eksternal
- Buat
androidx.compose.material3.DropdownMenu
tersedia dari set sumber umum. (If62c0)
Versi 1.3.0-beta02
29 Mei 2024
androidx.compose.material3:material3-*:1.3.0-beta02
dirilis. Versi 1.3.0-beta02 berisi commit ini.
Perubahan API
Modifier.pullToRefreshIndicator
mendukung elevasi, update Pull To Refresh API agar diaktifkan menjadi boolean, bukan lambda. Mendukung perataan konten diPullToRefreshBox
(I75679)- Membuat
TooltipScope
menjadi antarmuka tertutup dan membuat implementasi internal untuk digunakan diTooltipBox
dan Label. (I3833e) - Menambahkan dua pengubah baru ke
CarouselItemScope
-maskClip
danmaskBorder
- untuk menambahkan bentuk dan batas dengan mudah ke item carousel (Id67a1) TimePickerState
kini menjadi antarmuka dan memungkinkan penyetelan waktu (I88546)- Mengupdate API untuk menata gaya link: memindahkan
TextLinkStyles
keTextStyle
dan menghapusTextDefaults
dari material. (I5477b)
Perbaikan Bug
- Status
ModalBottomSheet
dan ikon menu navigasi kini merespons status tema gelap. (Ie1fe7, b/338342149) - Menambahkan semantik sheet tutup ke scrim
ModalBottomSheet
. (0e61cb,b/328801864)
Kontribusi Eksternal
- Menyediakan
androidx.compose.material3.AlertDialog
dari set sumber umum (Ia33f5) - Menjadikan
ModalBottomSheet
tersedia dari set sumber umum (Id7cc7)
Versi 1.3.0-beta01
14 Mei 2024
androidx.compose.material3:material3-*:1.3.0-beta01
dirilis. Versi 1.3.0-beta01 berisi commit ini.
Perubahan API
- Menggunakan
DpSize
, bukanCaretProperties
. MenghapusCaretProperties
. Mengganti namaCaretScope
menjadiTooltipScope
. (Id9a76) - Memperbarui API untuk mendapatkan link bertema Material dalam teks. Secara khusus, menghapus metode dari
TextDefaults
untuk membuatLinkAnnotations
bertema dan mengurai HTML dengan link bertema. Sebagai gantinya, tambahkan classTextLinkStyles
yang memungkinkan gaya link sebagai parameter ke composable Teks. (I31b93)
Versi 1.3.0-alpha06
1 Mei 2024
androidx.compose.material3:material3-*:1.3.0-alpha06
dirilis. Versi 1.3.0-alpha06 berisi commit ini.
Perubahan yang Dapat Menyebabkan Gangguan
API pull-to-refresh baru:
- Menyederhanakan
PullToRefreshState
untuk menggunakan nilai pecahan, bukan unit Dp. - Status
isRefreshing
dikontrol oleh pengguna, bukanPullToRefreshState
. - Memisahkan koneksi scroll bertingkat dari
PullToRefreshState
. Proses ini ditangani olehPullToRefreshBox
atauModifier.pullToRefresh
baru. - Update ini adalah perubahan yang dapat menyebabkan gangguan pada API eksperimental sebelumnya. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683)
- Menyederhanakan
Perubahan API
RippleConfiguration#isEnabled
telah dihapus, danLocalRippleConfiguration
telah dibuat nullable. Untuk menonaktifkan ripple, berikannull
keLocalRippleConfiguration
, bukan memberikanRippleConfiguration
denganisEnabled = false
. (I22725)ModalBottomSheet
menggambar scrim secara lebih akurat di atas status bar saat tepi ke tepi diaktifkan. Konten sheet bawah modal kini dapat menggunakan inset jendela, sehingga konten yang terlihat di atas menu navigasi dapat diakses. ParameterModalBottomSheet
windowInsets
diganti namanya menjadicontentWindowInsets
untuk menentukan tempat inset akan diterapkan, dan tidak lagi terikat dengan logika jendela. JeniscontentWindowInsets
telah diubah menjadi fungsi yang menampilkanWindowInsets
, agar dapat di-resolve dalam jendela barunya. (I39630, b/274872542, b/300280229, b/290893168)PrimaryScrollableTabRow
danSecondaryScrollableTabRow
kini menggunakan tata letak kustom, bukan subkomposisi, yang akan meningkatkan performa. (I991e0)- Link teks mendapatkan opsi gaya visual status ditekan selain gaya visual normal, diarahkan kursor, dan difokuskan. Setiap metode
TextDefaults
memiliki argumenpressedStyle
untuk mendukungnya. (Ic473f, b/139312671)
Perbaikan Bug
- Anchor tarik panel navigasi kini cocok dengan lebar
drawerContent
. (Ibc72f, b/245355396) - Padding atas
OutlinedTextField
untuk label kini memperhitungkan ukuran font sistem. (Idc781) - Memperbaiki lokasi paket
CalendarLocale
. (Ifa235) - [Predictive Back] Mengupdate animasi kembali prediktif untuk menggunakan kurva interpolasi (0,1, 0,1, 0, 1) (I2591a)
Versi 1.3.0-alpha05
17 April 2024
androidx.compose.material3:material3-*:1.3.0-alpha05
dirilis. Versi 1.3.0-alpha05 berisi commit ini.
Fitur Baru
SearchBar
danDockedSearchBar
memiliki overload baru yang menggunakan parameter kolom teks. Hal ini memungkinkan gaya kolom teks secara terpisah dari kolom penelusuran lainnya serta meneruskan kolom teks kustom. Kolom teks implementasi saat ini telah tersedia sebagaiSearchBarDefaults.InputField
. (I50c73, b/275074248, b/278773336, b/326627700)- lambda
drawTick
telah ditambahkan ke API publik untuk menyesuaikan tanda centang jika diperlukan (I0c048)
Perubahan API
- Link teks mendapatkan opsi gaya visual status ditekan selain gaya visual normal, diarahkan kursor, dan difokuskan (I5f864, b/139312671)
- Memperbarui
CarouselItemInfo
untuk mengekspos Rect masker yang digunakan untuk memotong item (I785d8) - Menghapus
BasicTooltipState
dari API publik Material 3. Fungsinya digabungkan denganTooltipState
hinggaBasicTooltip
Foundation distabilkan. (Icda29) - Menambahkan objek
TextDefaults
yang berisi metode untuk membuatLinkAnnotation
dan mengurai string bertag HTML yang menerapkanMaterialTheme
ke link (I98532, b/139312671) ExposedDropdownMenuBoxScope
tidak lagi mengizinkan subclass. Menu dropdown yang ditampilkan kini memilikiMenuAnchorType
yang harus diteruskan kemenuAnchor
untuk mendukung a11y yang lebih baik. Ini harus digunakan, bukan meneruskanfocusable
keExposedDropdownMenu
, yang sekarang tidak digunakan lagi.menuAnchor
memiliki parameter baru untuk mengontrol statusenabled
. (I55ee6, b/257209915, b/308840226)- Memperbaiki warna batas
OutlinedButton
saat dinonaktifkan. Menambahkan overloadButtonDefaults.outlinedButtonBorder("enabled")
yang menggunakan status diaktifkan. (Ie650b, b/318461363) - Menambahkan class
CarouselItemInfo
baru untuk membantu klien mendapatkan informasi tentang ukuran item. (I9070c) - Konstruktor
ColorScheme
tanpa penampung platform kini tidak digunakan lagi. Migrasikan ke konstruktor yang menyertakan penampung platform. (I35c11) - [Outlined]
TextFieldDefaults
ContainerBox
diganti namanya menjadiContainer
. (Ie8d3b)
Perbaikan Bug
BottomSheetScaffold
tidak akan lagi men-scroll dari scroll bertingkat jikasheetSwipeEnabled
bernilai salah. (I5e1c1, b/306464779)- Menghapus beberapa anotasi Ikut serta
ExperimentalMaterial3Api
diIconButtonSamples.kt
. (I111d1)
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
danHorizontalUncontainedCarousel
(I88d64) - Memperbarui Panel Samping Navigasi Compose M3 (
ModalDrawerSheet
danDismissibleDrawerSheet
) untuk mendukung Kembali Prediktif di U+ sebagai keikutsertaan (Ie5b0b) - Menambahkan API baru di Icon 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 baris tunggal merekomposisi terlalu banyak saat men-scroll konten. Menyelesaikan masalah saat
MediumTopAppBar
memotong judul di perangkat dengan setelan font/layar besar. (Ib8b0c, b/323403446, b/300953236, b/286296147, b/330410290, b/308540676) SegmentedButton
dan API terkait kini stabil (I8a158)SwipeToDismissBox
,SwipeToDismissBoxDefaults
,SwipeToDismissBoxState
, danSwipeToDismissBoxValue
kini ditandai stabil. (I5f000)- Menghapus enum dan API
DismissDirection
danDismissValue
yang tidak digunakan lagi. (I89ccd) - Menambahkan tag eksperimental ke objek pendamping
CarouselState
Carousel. (I94154) - Menghentikan penggunaan
LocalMinimumInteractiveComponentEnforcement
dan memperkenalkanLocalMinimumInteractiveComponentSize
untuk menggantikannya. (I7a7ac) - Konstruktor
SearchBarColors
kini bersifat publik. (I769ca) - Menambahkan parameter
gesturesEnabled
keSwipeToDismissBox
. (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
- Perbarui overlay status fokus menjadi 0,1f untuk memastikan kontras warna yang memadai. (I7ea77)
- Penyesuaian kecil pada warna default permukaan dan latar belakang di
lightColorScheme
dandarkColorScheme
. (I9db52)
Fitur Baru
- Menambahkan parameter untuk menyesuaikan
ExposedDropdownMenu
. Secara khusus, menu kini memiliki parameterfocusable
(true
default) yang harus ditetapkan kefalse
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 di composable Jalur Penggeser. (I9f315)
ExposedDropdownMenu
kini diimplementasikan menggunakanPopup
. Perilakunya harus sama, kecuali menu yang dapat difokuskan dengan kolom teks yang dapat diedit dapat ditutup saat mengetik di keyboard.
Perbaikan Bug
- Peran dasar bawaan Penampung dan Permukaan telah sedikit disesuaikan, sehingga memberikan lebih banyak tint dalam tema terang dan gelap. (I677a5)
- Memperbarui warna Slider dan
ProgressIndicator
agar mengikuti spesifikasi Kontras Non-Teks yang baru. (I26807) - Perbarui overlay status fokus menjadi 0,1f untuk memastikan kontras warna yang memadai. (I7ea77)
- Penyesuaian kecil pada warna default permukaan dan latar belakang di
lightColorScheme
dandarkColorScheme
. (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 stabil kembali. Membuat
State.onValueChangeFinished
menjadi val lagi. MenggabungkanonValueChangeFinished
dalamrememberUpdatedState
. (I82ab2, b/322269951) - Komponen Navigasi kini menggunakan peran
SurfaceContainer
baru.DrawerDefaults
kini menyediakan atributstandardContainerColor
danmodalContainerColor
yang berbeda.DrawerDefaults.ModalDrawerElevation
sekarang menjadi0.dp
. (I7fbac) - Menghapus
@Stable
dari statusSlider
karena kita mengubahstate.onValueChangeFinished
menjadivar
. (Ied34a, b/322269951) - Spesifikasi animasi
ModalBottomSheet
danStandardBottomSheet
kini menjadiTweenSpec
, yang diperbarui dari animasi pegas. Tindakan ini akan menyelesaikan masalah terkait overshoot yang terlihat. KonstruktorSheetState
yang tidak digunakan lagi tanpa kepadatan kini telah dihapus. (I7babc, b/285847707)
Perbaikan Bug
- Varian
SurfaceContainer
kini digunakan oleh komponen. Komponen yang secara formal menghitung warna dengan Permukaan danTonalElevation
kini menggunakan peranSurfaceContainer
secara default, yang tidak terpengaruh oleh elevasi tonal. (b/304584161) - Memperbaiki bug yang menyebabkan warna penampung
ElevatedFilterChip
yang tidak dipilih dan dinonaktifkan menjadi hitam. (I400e6, b/322407043) - Memperbaiki indikator progres tidak tentu saat progresnya 0 (Id6582)
- Memperbaiki masalah terkait
Slider
danRangeSlider
pada tata letak RTL (Iab0e1) - Menambahkan
SliderRangeTolerance
untuk penghitungan rentang penggeser karena pembulatan Float dapat tidak akurat. (Ic918a, b/324934900) - Pastikan
DatePickerDialog
menampilkan tombolnya saat menyusun bertingkatDateRangePicker
atau saat menampilkan jenis pemilih tanggal apa pun di layar kecil dengan font yang lebih besar. (Ie4758, b/325107799, b/277768544) Menu
kini memanfaatkan peranSurfaceContainer
untuk warna penampung.MenuDefaults.TonalElevation
sekarang menjadi0.dp
. (I135b7)TextField
kini memanfaatkan peranSurfaceContainerHighest
untuk warna penampung. (I4dced)- Chip yang ditinggikan kini memanfaatkan peran
SurfaceContainerLow
(I7cd2f) - Warna penampung
DatePicker
sekarang adalahSurfaceContainerHigh
.DatePickerDefaults.TonalElevation
sekarang menjadi0.dp
. (Ida753) - Memperbarui warna penampung dan warna handle tarik Sheet Bawah. (I72a0a)
- Warna penampung
RichTooltip
sekarang adalahSurfaceContainer
. (Ia8b45) - Warna penampung
SearchBar
sekarang adalahSurfaceContainerHighest
.SearchBarDefaults.TonalElevation
sekarang menjadi0.dp
. (I88604) - Update mengalihkan jalur/ikon yang dinonaktifkan dan tidak dipilih untuk memanfaatkan peran warna
SurfaceContainerHighest
. (I7687a) - Warna penampung
AlertDialog
sekarang adalahSurfaceContainerHigh
. (Ie0433) - Warna penampung
BottomAppBar
sekarang adalahSurfaceContainer
. WarnaTopAppBar
onScroll
kini menjadiSurfaceContainer
. (I41630) - Warna penampung
ElevatedCard
sekarang adalahSurfaceContainerLow
. Warna penampungFilledCard
dariSurfaceContainerHighest
. (I35141) - Warna penampung
ElevatedButton
sekarang adalahSurfaceContainerLow
.FilledIconButton
jika tidak dipilih kini memiliki warna penampungSurfaceContainerHighest
. (I792c9) - Memperbarui warna penampung
TimePicker
dan peran warna tombol jam menjadiSurfaceContainerHighest
. (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
- Memperbarui
ModalBottomSheet
Compose M3 untuk mendukung Kembali Prediktif di U+ (Iccf32, b/281967264, b/304850357) - Memperbarui
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 perhentian. (I21451) - Menambahkan tanda kurung siku default untuk tooltip lengkap, API tooltip lengkap baru kini memungkinkan tanda kurung siku kustom digambar dengan anchor
LayoutCoordinates
tertentu. (Ifd42c)
Perubahan Perilaku
- Komponen Material telah dimigrasikan untuk menggunakan API ripple baru, dan tidak lagi mengkueri
RippleTheme
.
Perubahan API
drawStopIndicator
yang menyenangkan kini bersifat publik. (I3f59f)- Menandai 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 sehingga kini mengeksposMutableInteractionSource
nullable yang ditetapkan secara default kenull
. Tidak ada perubahan semantik di sini: meneruskan null berarti Anda tidak ingin mengangkatMutableInteractionSource
, danMutableInteractionSource
akan dibuat di dalam komponen jika diperlukan. Mengubah ke null memungkinkan beberapa komponen tidak pernah mengalokasikanMutableInteractionSource
, dan memungkinkan komponen lain hanya membuat instance secara lambat saat diperlukan, yang meningkatkan performa di seluruh komponen ini. Jika Anda tidak menggunakanMutableInteractionSource
yang diteruskan ke komponen ini, sebaiknya teruskan null. Sebaiknya Anda juga membuat perubahan serupa di komponen Anda sendiri. (I41abb, b/298048146) - Menambahkan
RippleConfiguration
danLocalRippleConfiguration
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. Dalam sebagian besar kasus, nilai default harus digunakan: API ini adalah jalan keluar untuk penyesuaian setiap komponen / sub-hierarki terbatas. Untuk perubahan yang lebih luas dan sistem desain kustom, Anda harus mem-build ripple Anda sendiri menggunakancreateRippleModifierNode
. (I7b5d6, b/298048146) - Menambahkan API ripple baru di material3 yang menggantikan
rememberRipple
yang tidak digunakan lagi. Juga menambahkanCompositionLocal
,LocalUseFallbackRippleImplementation
sementara, untuk mengembalikan komponen material3 agar menggunakan APIrememberRipple
/RippleTheme
yang tidak digunakan lagi. Ini akan dihapus dalam rilis stabil berikutnya, dan hanya dimaksudkan sebagai bantuan migrasi sementara untuk kasus saat Anda menyediakanRippleTheme
kustom. (I34cbc, b/298048146)
Perbaikan Bug
- Menghapus subkomposisi di dalam
ModalBottomSheet
untuk meningkatkan performa. Memperbaiki masalahModalBottomSheet
yang error dalam skenario tertentu yang dikombinasikan denganLookaheadScope
. (I2a198) - Menghapus subkomposisi di dalam
BottomSheetScaffold
untuk meningkatkan performa. Memperbaiki masalah saatBottomSheetScaffold
mengalami error dalam skenario tertentu yang dikombinasikan denganLookaheadScope
. (Ie6401) - Perataan badge disesuaikan agar lebih dekat ke bagian tengah konten anchor sehubungan dengan sudut kanan atas. (I18a28)
- Memperbaiki masalah a11y dengan
DateRangePicker
saat judul teks Bulan-Tahun disampaikan sebagai tindakan yang dapat dilakukan oleh pengguna pembaca layar, Tombol akses, dan Akses suara. (I2ac55) - Memperbaiki bug urutan parameter
mediumTopAppBarColors
. (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
menjadi val lagi. MenggabungkanonValueChangeFinished
dalamrememberUpdatedState
. (Ie8fd0, b/322269951) - Menghapus
@Stable
dari statusSlider
karena kita mengubahstate.onValueChangeFinished
menjadivar
. (I82ba1, b/322269951) - Memperbaiki warna kustom
NavigationBar
untuk disalin dari default. (80a779, b/326894020) - Memperbaiki regresi di
ExposedDropdownMenu
agar dapat difokuskan lagi (3fcec1, b/323694447) - Memperbaiki masalah penyimpanan dalam 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 menggunakanTabRow
denganTabRowDefaults.PrimaryIndicator
Perubahan penting sejak 1.1.0
Komponen Desain Material 3 Baru
- Tarik untuk memuat ulang
- Tombol Tersegmentasi
Peningkatan pada komponen Desain Material 3 yang ada.
- Panel aplikasi bawah (perataan RTL, otomatis disembunyikan saat di-scroll)
- Pembaruan visual tab
- Badge (pembaruan perataan)
Mempromosikan API eksperimental menjadi stabil.
Peningkatan performa
- Lihat postingan blog ini untuk detail selengkapnya.
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
- Memperbaiki bug urutan parameter
mediumTopAppBarColors
. (Ibe64a) - Memperbaiki bug yang diperkenalkan di
1.2.0-beta02
diCardDefaults.cardColors
yang tidak memperbaruicontentColor
berdasarkan nilai parametercontainerColor
. (Iee041, b/319671246) - Memperbaiki bug di
disabledContentColor
yang diperkenalkan di1.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 Umum
- Bug di
IconButtonColors
secara default akan menetapkandisabledContentColor
ke alfa (0,38f)LocalContentColor
, bukancontentColor
yang ditentukan pengguna. Solusinya adalah menetapkandisabledContentColor
secara eksplisit. Masalah ini akan diperbaiki dalam rilis berikutnya.
Perubahan API
- Menambahkan kemampuan untuk mengaktifkan tanda panah tooltip untuk Plain
Tooltip
API. (Ibf767) SwipeToDismissState
,rememberSwipeToDismiss
, danSwipeToDismissValue
semuanya diganti namanya menjadi_SwipeToDismissBox_
. (I68d6d)
Perbaikan Bug
- Memperbaiki nilai padding akhir
ListItem
agar selaras dengan spesifikasi. (Ibd68b, b/305342674) - Warna garis batas untuk kartu yang digarisbatasi kini dipetakan dengan benar ke
OutlineVariant
. (I75480, b/310979715) - Warna dinamis kini diambil 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+ saatandroid: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
- Menandai
TabIndicatorScope
sebagai eksperimental. (I45c88) - Menghapus API eksperimental yang tidak digunakan lagi untuk tooltip. (I438cb)
- Ubah overload
TabRow
baru agar tidak menggunakan subkomposisi. Hal ini menghasilkan cara yang berbeda untuk mem-build indikatorTabRow
dengan pengubah kustom yang disediakan. (Ife741) - Menghentikan penggunaan
DismissDirection
danDismissValue
API. Nilai ini telah digabungkan keSwipeToDismissValue
, yang nilainya menunjukkan posisi dan arahSwipeToDismissBox
.DismissState.progress
kini ditandai sebagaiFloatRange
antara0.0
dan1.0
. Penghemat dan KonstruktorDismissState
yang tidak digunakan lagi kini telah dihapus. Objek komponen, status, dan defaultSwipeToDismiss
telah ditandai ulang sebagai eksperimental. (Ib54f2)
Perbaikan Bug
- Indikator default untuk
PullToRefresh
kini adalah panah terbuka, bukan segitiga solid. (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 nilaiFloatRange
kustom.SnapFlingBehavior.kt
kini juga menggunakan rentang Kotlin. (I025cb)- Menandai 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
- Mengimplementasikan
PullToRefreshContainer
danPullToRefreshState
, yang bersama-sama memberikan implementasi pull to refresh di Material3. (I16456, b/261760718)
Perubahan API
- Menandai
SwipeToDismissBox
DismissDirection
danDismissValue
sebagai eksperimental. (I517b0) - Mengganti nama
SwipeToDismiss
menjadiSwipeToDismissBox
. Mengganti namabackground
menjadibackgroundContent
dandismissContent
menjadi lambdacontent
terakhir. (I7f4d3) - Buat konstruktor untuk
ChipElevation
danSelectableChipElevation
menjadi publik. (Ie0c48, b/308432421) - Menambahkan
ModalBottomSheetProperties
. MemindahkansecurePolicy
keModalBottomSheetProperties
. MenambahkanisFocusable
danshouldDismissOnBackPress
keModalBottomSheetProperties
. Boolean baru ini membantu menentukan cara sheet bawah modal menangani peristiwa IME. (Iea56f, b/278216859) - Memperbarui status
RangeSlider
danSlider
untuk menghapusinitialOnValueChange
, awalan awal, dan kdocs yang sesuai. (I57d30) - Menghentikan penggunaan class
ChipBorder
dan panggilan fungsi terkaitnya, sebaiknya gunakanBorderStroke
secara langsung. (I89cc2) - Foundation Tooltip API kini menjadi
@ExperimentalFoundationApi
. (I30b0b) TabRow
danScrollableTabRow
tidak digunakan lagi. Varian Primer dan Sekunder baru ditandai sebagai eksperimental. (I0def6)- Chip filter dan input kini menggunakan
BorderStroke
secara langsung. (I07a8d) SegmentedButton
kini menggunakanBorderStroke
secara langsung. (I89b9b)- Mengganti nama fungsi
AlertDialog
generik menjadiBasicAlertDialog
, dan menghentikan fungsi sebelumnya. (Idbe52) - Mengganti nama
SwipeToDismiss
API menjadiSwipeDismiss
, dan mempromosikanSwipeDismiss
API baru menjadi stabil. (I14cbe) - Menambahkan
tonalElevation
danshadowElevation
ke API tooltip. Selain itu, memindahkanTooltipBox
,PlainTooltip
, danRichTooltip
API kembali ke eksperimental karena 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
danBadgedBox
ke stabil. (I67f16, b/261565132) - Menambahkan
securePolicy
sebagai parameter keModalBottomSheet
, sehingga pengguna dapat menentukan perilaku untukWindowManager.LayoutParams.FLAG_SECURE
. (Icdac8, b/296250262) - Menambahkan overload baru dari
LinearProgressIndicator
danCircularProgressIndicator
yang menggunakanprogress
sebagai lambda. Versi ini akan berperforma lebih baik daripada versi sebelumnya. (I824e6, b/295616656) - Mengganti nama
StandardSizeClasses
menjadiAllSizeClasses
. (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 tepi rentang tahun yang diizinkan. (I46f36, b/290954897, b/297002119) - [Nav rail/bar] 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
danDismissibleNavigationDrawer
untuk menggunakanAnchoredDraggable
API baru.animateTo
DrawerState
telah diganti dengan metode buka dan tutup, dan offsetnya sekarang diekspos sebagai float, bukan objek status. Anda dapat mengakses offset langsung melaluicurrentOffset
. (I0a72c) - Fungsi non-Composable telah ditambahkan untuk membuat
DatePickerState
danDateRangePickerState
secara langsung. Fungsi ini dapat digunakan sebagai alternatif untuk fungsi ComposablerememberDatePickerState
danrememberDateRangePickerState
jika diperlukan. (I70326, b/291524052) TabRows
Tetap dan yang Dapat Di-scroll kini memiliki varian Utama dan Sekunder. Hal ini dipetakan dengan benar ke perilaku warna dan indikator seperti yang ditentukan dalam Material3.PrimaryScrollableTabRow
danSecondaryScrollableTabRow
kini mengekspos status scroll. (Iec8f5, b/260572337)- Menambahkan parameter
sheetMaxWidth
baru yang dapat ditetapkan developer untuk menentukan lebar maksimum yang akan dijangkau sheet. Dp.Unspecified dapat diteruskan untuk parameter jika sheet yang mencakup seluruh lebar layar diinginkan. (Ifb7c9, b/266697696) - Menambahkan kembali
PlainTooltipBox
API danRichTooltipBox
API sebagai metode yang tidak digunakan lagi. (I246fa)
Perbaikan Bug
- Memperbaiki error saat
DatePicker
diinisialisasi denganDatePickerFormatter
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 menjadi Immutable, sehingga membuat 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 dapat dilakukan, tetapi akan merekomposisi lebih banyak dari sebelumnya, sehingga kami secara signifikan mengurangi jumlah langganan status melalui semua kode Material dan akan memengaruhi biaya inisialisasi dan runtime dari lebih banyak kasus penggunaan standar. (Ic447d, b/297212873)- Elevasi Tonal tidak lagi dianimasikan dalam status interaksi yang berbeda agar sesuai dengan spesifikasi. (Icdd12)
Perubahan API
- Menambahkan
BottomAppBar
baru yang menggunakanBottomAppBarScrollBehavior
sebagai parameter untuk menyembunyikannya secara otomatis saat konten di-scroll. Juga menambahkanFabPosition.EndOverlay
yang memungkinkan FAB menempatkan panel aplikasi bawah di 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, ini akan diukur dalam pengukuran. Jika Anda mengalami masalah dengan perilaku baru ini, harap laporkan masalah. (I0b354)
- Memperbaiki Edge to Edge horizontal di
BottomSheet
dengan menggunakan pengukuran yang benar untuk lebar layar perangkat. (I1df0c, b/299058752) - Memperbaiki bug saat
ModalBottomSheet
tidak memanggilonDismissedRequest
saat menutupnya dengan menggeser sheet ke bawah. (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
mengimplementasikanDraggableState
(I9b116)- Mengubah bentuk menjadi parameter wajib. Ganti nama
position
menjadiindex
dalam fungsi bantuan bentuk. (I34941) - Memperbarui
DatePicker
formatWithSkeleton
untuk menyertakan peta yang digunakan sebagai cache untuk peningkatan performa. (I3195f) - Menambahkan
BasicTooltipBox
kecompose.foundation
dan memperbaruiPlainTooltipBox
danRichTooltipBox
untuk menggunakanTooltipBox
dengan composablePlainTooltip
danRichTooltip
baru. (I79e1d)
Perbaikan Bug
dynamicLightColorScheme
dandynamicDarkColorScheme
kini menampilkan warna kromatik yang lebih tinggi untuk peran permukaan dansurfaceContainer
. (I5e901)- Memperbaiki masalah saat beberapa komponen yang menggunakan Subkomposisi (misalnya
BottomSheetScaffold
) di dalam Scaffold di dalamLookaheadScope
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 instanceCheckboxColors
yang dibuat secara kustom 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
SwipeToDismiss
dan Sheet. Gunakan overload baru yang disediakan dengan kepadatan sebagai parameter. (I1846e) - Anotasi tambahan untuk menentukan input yang diizinkan ke composable (Ief234)
- Menambahkan parameter ikon ke tombol tersegmentasi, memisahkan semantik sehingga tombol tersegmentasi dapat dipilih untuk menerapkan pilihan tunggal, dan dapat diubah untuk menerapkan multi-pilihan, masing-masing dengan
SelectableSegmentedButtonRow
danToggelableSegmentedButtonRow
. (I38740) - Pembagi telah diganti namanya menjadi
HorizontalDivider
. Menambahkan fungsiVerticalDivider
. (I5975c) - Mengubah penggunaan
ClosedFloatingPointRange
untukFloatRange
yang lebih ringan di API Material3 eksperimental untuk meminimalkan autoboxing. (I4aab5) - Menambahkan perataan Awal baru untuk
FabPosition
(Ib7aea, b/170592777)
Perbaikan Bug
ModalBottomSheet
mengikuti arah tata letak lokal. (Ib4f44, b/285628622)
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
sekarang menjadifalse
secara default dalam tipografi Material 3. Gaya tinggi baris default juga telah diubah menjadiTrim.None
danAlignment.Center
, danlineHeight
eksplisit (dalam sp) telah ditambahkan keTextStyle
dariTypography
. Lihat dokumen API jika Anda ingin menyesuaikan nilai ini, dan lihat postingan blog untuk penjelasan mendalam tentang perubahan ini. (I6266f, Icabc3)
Fitur Baru
- Menambahkan overload untuk
RangeSlider
yang merupakan versi stateful dari komponen. MembuatRangeSliderState
yang menyimpan semua informasi untuk jalur aktif saat ini, pengukuran komponenRangeSlider
, dan logika tarik dan gestur. (I8c270) - Kotak penelusuran kini mendukung bayangan melalui parameter
shadowElevation
yang baru ditambahkan. (Ia5369, b/271040353) ColorScheme
kini mendukung peranSurfaceContainer
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. Perhatikan bahwa hal ini dapat merusak traversal otomatis fokus aksesibilitas. (Ie32d8)
- Aksesibilitas yang dioptimalkan untuk performa dan alokasi memori. (Iede48)
- Mengekspos
DefaultSizeClasses
dan membuatStandardSizeClasses
untukWindowSizeClasses
(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 berdasarkantopBar
danbottomBar
tetap tidak berubah saat parameter ini diberikan. (I08b73, b/264601542) - Perbaiki perataan panel aplikasi atas tengah untuk memastikan judul yang panjang tidak dirender di atas ikon tindakan atau ikon navigasi. (I4369f, b/236994621)
- Posisi tab kini menerapkan lebar konten minimum 24 dp. Hal ini memberikan target sentuh yang dapat diakses untuk indikator tab. (Id8861)
- Palet warna dinamis dari
dynamicLightColorScheme
dandynamicDarkColorScheme
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
- Tambahkan parameter inset jendela ke
ModalBottomSheet
.- Skrim untuk
ModalBottomSheet
kini dapat digambar di belakang status bar denganwindowInsets
disetel ke nol - Memperbarui fungsi
ModalBottomSheet
default agar tetap berada di luar panel sistem, termasuk navigasi - Penanganan inset status bar disediakan oleh handle tarik dalam mode tepi ke tepi.
BottomSheetDefaults
menyertakan inset jendela untukBottomSheetWindow
. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)
- Skrim untuk
- Menghentikan penggunaan
Indicator
dan menambahkanPrimary
/SecondaryIndicator
agar cocok dengan spesifikasi M3.PrimaryIndicator
cocok dengan lebar konten tab, sedangkanSecondaryIndicator
mencakup lebar penuh yang tersedia.SecondaryIndicator
setara denganIndicator
yang kini tidak digunakan lagi dan dapat menjadi pengganti langsung. (I27604) - Menambahkan opsi untuk meneruskan
ScrollState
saat membuatDropdownMenu
atauExposedDropdownMenu
untuk mengontrol status scroll vertikal item menu yang ditampilkan. (Ia0734, b/185304441) - Menambahkan overload untuk
Slider
yang merupakan versi stateful dari komponen. MembuatSliderState
yang menyimpan semua informasi untuk jalur aktif saat ini, pengukuran komponenSlider
, dan logika tarik dan gestur. (I124a5) - Mengganti nama properti Semantik
isContainer
menjadiisTraversalGroup
(I121f6) - Menambahkan
TextStyle.merge(...)
yang dioptimalkan dengan daftar parameter lengkap. (Iad234, b/246961787) - Membuat antarmuka publik
TooltipState
,RichTooltipState
, danPlainTooltipState
. MenambahkanRichTooltipStateImpl
danPlainTooltipStateImpl
untuk status default. Menambahkan fungsiremember*State
untuk mendapatkan status yang diterapkan ini. MenghapusTooltipSync
dan menggantinya denganTooltipDefault.GlobalMutatorMutex
. (I7813d) - Memperbarui
DatePickerColors
untuk menyertakan opsi penyesuaian tambahan untuk warna pemisah pemilih tanggal, navigasi, dan kolom input teks. (I1a685, b/274626815) DatePickerState
danDateRangePickerState
kini menjadi antarmuka publik dengan implementasi default yang dapat diambil olehrememberDatePickerState
danrememberDateRangePickerState
. (I71c52)- Menghapus
dateValidator
dariDatePicker
danDateRangePicker
serta memperkenalkan antarmukaSelectableDates
yang dapat disetel pada status untuk mengontrol tanggal atau tahun yang dapat dipilih di UI. (Ic2fc6) TimePicker
dihapus dari API stabil, perubahan lebih lanjut diharapkan di API status (I3f39a)ModalBottomSheet
dipindahkan ke Android saja.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 satu sama lain agar sesuai dengan lebar dialog. Perbaikan ini menyelaraskan implementasi dengan spesifikasi Desain Material. (I029de, b/235454277) - Memperbaiki bug di
ListItem
yang 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 tengah hari dan menit. (b/269768197, b/282790635)
- Memperbaiki
state.hour
yang menampilkan nilai yang 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 parameterwindowInset
untuk kompatibilitas biner. (Ib7959) - Tambahkan parameter inset jendela ke
ModalBottomSheet
.- Skrim untuk
ModalBottomSheet
kini dapat digambar di belakang status bar denganwindowInsets
disetel ke nol - Memperbarui fungsi
ModalBottomSheet
default agar tetap berada di luar panel sistem, termasuk navigasi - Penanganan inset status bar disediakan oleh handle tarik dalam mode tepi ke tepi.
BottomSheetDefaults
menyertakan inset jendela untukBottomSheetWindow
. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)
- Skrim untuk
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 menjadi 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 di API status (I3f39a)ModalBottomSheet
dipindahkan ke Android saja.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
kini memiliki parameterskipHiddenState
opsionalrememberStandardBottomSheetState
kini memiliki parameterskipHiddenState
opsionalBottomSheetScaffold
kini memiliki Anchor tersembunyi yang ditentukan, meskipun dinonaktifkan secara default- Dokumentasi
SheetState.requireOffset
telah diperbarui BottomSheetDefaults.MinimizedShape
diganti namanya menjadiBottomSheetDefaults.HiddenShape
(I839f4, b/273870234)
Perbaikan Bug
- Jangan beralih tampilan jam dari jam ke menit saat eksplorasi sentuh diaktifkan. (I717d0)
- Semantik handle tarik
ModalBottomSheet
danBottomSheetScaffold
kini digabungkan. (I05afb) - Parameter pengubah
BottomSheetScaffold
,containerColor
, dancontentColor
kini hanya memengaruhi konten. (I992cb) BottomSheetScaffold nestedScroll
untuk konten sheet kini mengimplementasikan 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 berikut.
Perubahan API
- Tambahkan parameter jenis tata letak ke composable
TimePicker
. Hal ini 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 untuk memungkinkan penerusan judul null saat membuat pemilih tanggal. Anda kini dapat meneruskan judul, judul, dan
showToggleMode = false
null untuk menampilkan pemilih headless. (Id3f3a, b/266132421, b/267194809)
Perbaikan Bug
- Kotak penelusuran kini otomatis menghapus fokus saat tidak aktif. (I22a7c, b/261444487)
- Memperbarui
DateRangePicker
untuk memungkinkan pemilihan rentang dengan tanggal yang sama untuk tanggal mulai dan akhir. (I16529, b/272882497) - Kolom teks kini memosisikan elemen teks dengan benar saat ukuran font lebih kecil dari yang diharapkan. Hal 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
danBottomSheetScaffoldState
. (I063d4)
Perubahan API
- Menambahkan fungsi ke
DatePickerState
danDateRangePickerState
untuk memungkinkan penetapan tanggal setelah pembuatan status awal, serta mereset pilihan dengan menetapkan stempel waktu null. Menetapkan tanggal secara manual harus dilakukan dengan hati-hati, dan fungsisetSelection
baru akan menampilkan pengecualian jika tanggal yang diberikan gagal memenuhi prasyarat (lihat dokumentasi). (Ifa645, b/268609314, b/270427389) - Ganti nama
SheetValue
yang Diciutkan menjadiPartiallyExpanded
untuk menggambarkan perilaku dalam status ini dengan lebih akurat dan fleksibel. (Ia1491) - Memperbarui nama parameter
ListItem
menjadi _content, bukan _text. Pengambil default kini menjadiReadOnlyComposables
jika relevan. (I69a25) - Mengubah Surface API interaktif dari eksperimental menjadi stabil. (I90d59, b/261561812)
Perbaikan Bug
- Memperbaiki masalah saat status
HalfExpanded
ModalBottomSheet
salah dihitung dan sheet akan tampak mengambang. (I45e84, b/268411386) - Tambahkan pemeriksaan
confirmValueChange
ke ketukan scrim untukModalBottomSheet
. (I2311a, b/270425759) - Memindahkan tindakan
BottomSheet
semantik ke tuas tarik. (I158ba) ModalBottomSheet
kini memerintahkan fokus 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
- Menambahkan composable Input Waktu 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:
- Warna teks kolom input dan placeholder berdasarkan fokus dan status error. Parameter
textColor
telah diganti namanya menjadiunfocusedTextColor
, danplaceholderColor
telah diganti namanya menjadiunfocusedPlaceholderColor
. - Warna penampung untuk kolom teks yang terisi berdasarkan status error dengan parameter
errorContainerColor
baru.
- Warna teks kolom input dan placeholder berdasarkan fokus dan status error. Parameter
- Warna kolom teks menu dropdown yang ditampilkan telah diperbarui dengan parameter untuk mendukung API awalan dan akhiran baru. (I9c8b4, b/254284181, b/264766350)
Perubahan API
- Mengembalikan beberapa versi Slider API dan menghapus overload Slider yang redundan yang tercakup oleh Slider eksperimental baru dengan thumb dan track kustom. Mempromosikan
RangeSlider
agar stabil. (Ie8fbd) - Mengganti nama
defaultElevation
menjadielevation
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
kini selaluSheetDefaults.ExpandedShape
. (I0dfca) - Peningkatan aksesibilitas untuk
DatePicker
danDateRangePicker
Material 3. (I5087e) - Memperbaiki bug saat batasan tinggi maksimum disebarkan dan dapat mengalami error. (I30d8c)
- Menghapus peran semantik dari platform yang dapat diklik dan dipilih, memperbarui 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 bersamaTimePickerState
dan metode yang mempermudah pekerjaanrememberTimePickerState
(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
danModalBottomSheetDefaults
. Selain itu, memperkenalkanSheetState
danrememberSheetState
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
, danListItemColors
API menjadi non-eksperimental (I7e7fa, b/261438882) - Mempromosikan
SliderPositions
,SliderDefaults.Thumb
, danSliderDefaults.Track
menjadi stabil serta menambahkanSlider
danRangeSlider
API non-eksperimental yang berisi thumb dan track kustom. Selain itu, menghentikan penggunaanSlider
danRangeSlider
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. MengupdatePlainTooltipBox
API agar tidak lagi membuatTooltipState
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 keLocalMinimumInteractiveComponentEnforcement
. (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
danCompose 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
keandroidx.compose.foundation:1.4.0-alpha04
, Anda mungkin mengalami errorjava.lang.NoSuchFieldError
. Masalah awalnya dilaporkan di sini. Perbaikan telah dikirim dan akan tersedia di update Compose berikutnya. Sebagai solusi, update libraryandroidx.compose.material
danandroidx.compose.material3
ke versi terbaru (1.1.0-alpha04) atau downgradeandroidx.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()
menjadiconsumeWindowInsets()
danwithConsumedWindowInsets()
menjadionConsumedWindowInsetsChanged()
, 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 dalamScrollable ViewGroup
. - Mengupdate Panel Samping dan Sheet untuk menunda penekanan dengan benar jika gestur dapat menjadi peristiwa scroll.
Update Dependensi
Compose UI
danCompose 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
danwaitForUpOrCancellation
kini menerimaPointerEventPass
untuk fleksibilitas yang lebih besar (juga perbaikanExposedDropdownMenuBox
yang menampilkan menu saat men-scroll).(I7579a, b/212091796)- Menambahkan parameter
minLines
ke dalam material dan material3 Text,TextField
, danOutlinedTextField
yang memungkinkan penetapan tinggi minimum komponen dalam jumlah baris (I4af1d) - Menghentikan fungsi
TopAppBarDefaults smallTopAppBarColors
dan menggantinya dengan fungsitopAppBarColors
baru yang harus digunakan saat membuatTopAppBar
. (Ie6cb9) - Menambahkan parameter
minLines
keBasicText
danBasicTextField
. Perubahan ini memungkinkan untuk menyetel tinggi minimum composable ini dalam jumlah baris (I24294, b/122476634)
Perbaikan Bug
- Memotong konten Material3
IconButton
danIconToggleBotton
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
- Badge
- Bottom App Bar
- Tombol
- FAB dan FAB yang diperluas
- Kartu
- Kotak centang
- Chip
- Dialog
- Pemisah
- Menu Dropdown
- Daftar
- Menu navigasi
- Panel navigasi
- Kolom samping navigasi
- Indikator Progres
- Tombol Pilihan
- Penggeser
- Ganti
- Tab
- Kolom Teks
- Panel aplikasi atas
- Ikon
- Teks
- Permukaan
- Tata Letak
- Warna konten
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 menggunakancalculateWindowSizeClass
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 untukWindowSizeClass
.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 pengubahModifier.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 fungsiTopAppBar
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
danNavigationRail
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
danBadgedBox
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
dariMenuDefaults
danTabDefaults
(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 danElevatedFilterChip
API untuk menghapus slotselectedIcon
dan mempromosikan penggunaan kembalileadingIcon
untuk menampilkan status yang dipilih. (Ie5dc2) - Menambahkan peran warna varian scrim dan outline. (Id6d54)
- Memperbaiki konvensi penamaan untuk default composable. (I62b27)
- Menandai
ListItemDefaults
danListItemColors
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 fungsiCheckbox
. (I5eefc) - Menghapus anotasi
@ExperimentalMaterial3Api
dari fungsiRadioButton
. (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 warnaFilterChip
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
danWindowHeightSizeClass
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
danInputChip
Material3 (I0d25a) - Menambahkan dukungan
FilterChip
danSuggestionChip
Material3 (I9fdf3)
Perubahan API
- Mengganti nama composable
TextFieldDefaults.BorderStroke
yang menggambar goresan batas diOutlinedTextField
menjadiTextFieldDefaults.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 menggunakancalculateWindowSizeClass
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 untukWindowSizeClass
. 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 dariBottomAppBar
dengan FAB. (I92c47) - Menambahkan Material3
FilledIconButton
,FilledTonalIconButton
, danOutlinedIconButton
. (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 menggunakanconsume()
untuk sepenuhnya memakai perubahan. Anda dapat menggunakanisConsumed
untuk menentukan apakah orang lain sudah pernah memakai perubahan tersebut sebelumnya. PointerInputChange::copy()
kini selalu membuat shallow copy. Ini berarti bahwa salinanPointerInputChange
akan dipakai setelah salah satu salinan tersebut digunakan. Jika Anda ingin membuatPointerInputChange
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 menjadicontainerColor
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
- Menambahkan dukungan untuk kolom teks Material 3. (I795cc, b/199377790)
Perubahan API
- Menambahkan pembagi default untuk menu (I01374)
- Menambahkan parameter warna
surfaceTint
ke classColorScheme
. (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
danLazyHorizontalGrid
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 denganWindowCompat.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
danDismissibleNavigationDrawer
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 menjadiModalNavigationDrawer
(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
keFloatingActionButtonDefaults
. (Ia71cf) - Perbaikan bug untuk tombol
AlertDialog
yang tersembunyi saat teks panjang ditambahkan denganLazyColumn
. (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
- Menu dropdown
- Kartu
Perubahan API
- Fungsi
Surface
yang tidak digunakan lagi dan menggunakan callback onClick. Platform yang dapat diklik harus dibuat denganInteractionSource
danModifier.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
- Menambahkan
LocalIndication
keMaterialTheme
Material 3. (I7ce4e) - Memperbaiki radius sudut yang diterapkan untuk Kotak centang (I38b03, b/175198975, b/202309440)
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
daricompose.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
- Tombol
- FAB dan FAB yang diperluas
- Dialog
- Menu navigasi
- Panel navigasi
- Kolom samping navigasi
- Panel aplikasi atas
- Badge
- Ikon
- Teks
- Permukaan
- Tata Letak
- Warna konten
Untuk informasi selengkapnya, lihat bagian Desain Material 3 dan Material You di panduan Tema Material dalam Compose.