Compose Material 3

Mem-build UI Jetpack Compose dengan Komponen Desain Material 3, evolusi berikutnya dari Desain Material. Material 3 menyertakan tema dan komponen yang diperbarui serta fitur personalisasi Material You, seperti warna dinamis. Material 3 juga didesain agar selaras dengan gaya visual dan UI sistem Android 12 yang baru.
Update Terbaru Rilis Stabil Kandidat Rilis Rilis Beta Rilis Alfa
13 November 2024 1.3.1 - - 1.4.0-alpha04

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.

GrupDeskripsi
compose.animationMem-build animasi di aplikasi Jetpack Compose untuk memperkaya pengalaman pengguna.
compose.compilerMentransformasi fungsi @Composable dan mengaktifkan pengoptimalan dengan plugin compiler Kotlin.
compose.foundationMenulis aplikasi Jetpack Compose dengan elemen penyusun siap pakai dan memperluas dasar untuk mem-build bagian sistem desain Anda sendiri.
compose.materialMem-build UI Jetpack Compose dengan Komponen Desain Material siap pakai. Ini adalah titik entri pada tingkat yang lebih tinggi untuk Compose, yang dirancang untuk menyediakan komponen yang cocok dengan yang dijelaskan di www.material.io.
compose.material3Mem-build UI Jetpack Compose dengan Komponen Desain Material 3, evolusi berikutnya dari Desain Material. Material 3 menyertakan tema dan komponen yang diperbarui serta fitur personalisasi Material You, seperti warna dinamis. Material 3 juga didesain agar selaras dengan gaya visual dan UI sistem Android 12 yang baru.
compose.runtimeElemen penyusun yang penting untuk model pemrograman dan pengelolaan status Compose, serta runtime inti untuk ditargetkan oleh Plugin Compose Compiler.
compose.uiKomponen dasar compose UI yang diperlukan untuk berinteraksi dengan perangkat, termasuk tata letak, gambar, dan input.

Mendeklarasikan dependensi

Untuk menambahkan dependensi pada Compose, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk informasi selengkapnya.

Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle bagi aplikasi atau modul Anda:

Groovy

dependencies {
    implementation "androidx.compose.material3:material3:1.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.

Laporkan masalah baru

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:

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 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 dan contentColor ke NavigationSuiteScaffoldDefaults. (I64e3a, b/331993720)
  • Menambahkan fungsi itemColors ke NavigationSuiteDefaults. (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 mengekspos MutableInteractionSource nullable yang ditetapkan secara default ke null. Tidak ada perubahan semantik di sini: meneruskan null berarti Anda tidak ingin mengangkat MutableInteractionSource, dan MutableInteractionSource akan dibuat di dalam komponen jika diperlukan. Mengubah ke null memungkinkan beberapa komponen tidak pernah mengalokasikan MutableInteractionSource, dan memungkinkan komponen lain hanya membuat instance secara lambat saat diperlukan, yang meningkatkan performa di seluruh komponen ini. Jika Anda tidak menggunakan MutableInteractionSource 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

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 perlu dari konten AnimatedPane (Ibc73b)
  • Mengganti nama collectWindowSizeAsState dan menampilkan nilai mentah (I480f4)

Versi 1.0.0-alpha02

29 November 2023

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

Perubahan API

  • Memisahkan API navigasi dari API scaffold adaptif. (Ic4045)
  • Menghapus class GutterSize. (I785b3)

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:

Compose Material3 Versi 1.4

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, dan outlinedIconToggleButtonBorder. Memindahkan perilaku yang kini dibalik ke kumpulan fungsi baru yang disebut iconButtonVibrantColors dan seterusnya untuk menekankan warna kontras tinggi yang ditampilkan. (Iffd8d)

Fitur Baru

  • Memperkenalkan komponen VerticalDragHandle (I6c770)

Perubahan API

  • Mengganti nama DismissibleModalWideNavigationRailDefaults menjadi ModalWideNavigationRailDefaults. (I8e877)
  • Menambahkan NavigationBarComponentOverrides. (I8a3f3)
  • Menambahkan NavigationRailComponentOverride. (I83e13)
  • Memperkenalkan WideNavigationRailState untuk menangani penyingkatan/pembesaran kolom samping, memungkinkan ModalWideNavigationRail ditutup, dan menghapus DismissibleModalWideNavigationRail. (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 penggunaan rememberPlainTooltipPositionProvider dan rememberRichTooltipPositionProvider. (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 ke DatePicker dan DateRangePicker. Anda dapat mencegah fokus dengan meneruskan false. (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 saat contentPadding berubah. (I8c8e2, b/373904168)
  • TextFieldLabelScope progress diganti namanya menjadi labelMinimizedProgress
  • TextFieldLabelPosition Default diganti namanya menjadi Attached. 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 dan DateRangePicker saat menetapkan Lokalitas langsung melalui DatePickerState atau DateRangePickerState. 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 parameter color dalam fungsi pemilih tanggal dan memperkenalkan parameter contentColor untuk menyesuaikan warna teks header dan judul. (I30d03, b/347031394)
  • Ganti nama SplitButton menjadi SplitButtonLayout dan hapus API varian warna SplitButton, varian akan dicapai dengan menggunakan kembali varian tombol yang disediakan oleh SplitButtonDefaults. (I44c36)
  • ModalBottomSheet kini memiliki parameter sheetGestureEnabled (I856cb, b/288211587)
  • Mengganti nama standardMotionScheme dan expressiveMotionScheme menjadi standar dan ekspresif. Kedua fungsi kini dapat diakses melalui objek pendamping MotionScheme dengan memanggil MotionScheme.standard() dan MotionScheme.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 dan DateRangePicker kini memperbarui bulan yang ditampilkan dengan benar saat ditetapkan melalui displayedMonthMillis 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 dan DateRangePicker 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 file build.gradle[.kts]. (I735ff, b/349894318)
  • Warna label aktif NavigationBarItem dan NavigationRailItem berubah dari onSurface menjadi secondary untuk meningkatkan kegunaan, kontras warna, dan meningkatkan koherensi dalam sistem (Ibc297), untuk kembali ke perilaku sebelumnya, salin warna default dan ubah selectedTextColor menjadi MaterialTheme.colorScheme.onSurface.
  • Komponen Material 3 kini menggunakan MotionScheme baru untuk menentukan gerakannya. (Ie0f93)
  • Perubahan gerakan Indikator Progres melingkar tidak tentu (I3c07e)
  • Perbarui OutlinedIconButtonColors dan OutlinedIconToggleButtonColors untuk kontras warna yang lebih baik. (I2743d)
  • Memperbarui warna penampung dan konten untuk FilledIconToggleButtonColors dan FilledTonalIconToggleButtonColors. (Ic5d0f)
  • Memperbarui warna batas OutlinedButton dari outline menjadi outlineVariant. (057f00)

Perubahan API

  • Menambahkan parameter reverseLayout opsional ke fungsi enterAlwaysScrollBehavior TopAppBar untuk mendukung konten yang ditetapkan dengan reverseLayout dengan lebih baik. (I4e0e5)
  • SegmentedButton kini mendukung argumen contentPadding. (I5ad91, b/358414376)
  • PullToRefreshState tidak lagi memiliki implementasi default untuk isAnimating (I6a593)
  • Menambahkan overload baru dari Material TextField dan OutlinedTextField yang menggunakan TextFieldState. Menambahkan API kotak dekorasi yang kompatibel dengan TextFieldDecorator. (If13a1)
  • Menambahkan parameter untuk mengontrol labelPosition kolom teks. Penggunaan alwaysMinimize memungkinkan pola UI menampilkan label dan placeholder di kolom teks secara bersamaan meskipun kolom tidak difokuskan. (I1ef2c)
  • Menambahkan Material SecureTextField dan OutlinedSecureTextField 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 menjadi isPm (I89a97)
  • Memperbarui class tipografi untuk mendukung skala huruf yang ditekankan. (Ifa13c)
  • Menambahkan ModalWideNavigationRail API dan mengganti nama ModalExpandedNavigationRail API menjadi DismissibleModalWideNavigationRail. (Ic9118)
  • Memperbarui FloatingAppBarScrollBehavior untuk menghitung screenOffset secara otomatis dan tidak memerlukan @Composable. (Idf349)
  • Update pada LoadingIndicator API untuk memperbaiki penamaan pada objek default-nya. Menambahkan konstanta LoadingIndicatorElevation di PullToRefresh. (I1d72b)
  • Update pada LoadingIndicator API untuk memperbaiki penamaan pada objek default-nya. Menambahkan konstanta LoadingIndicatorElevation di PullToRefresh. (I1d72b)
  • Menambahkan parameter amplitude dan waveSpeed ke variasi yang tidak ditentukan dari LinearWavyProgressIndicator dan CircularWavyProgressIndicator. (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. Menghapus AnimatedTrailingButton API karena TrailingButton 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 contoh. (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 melalui MaterialTheme. (Id50c2)

Perbaikan Bug

  • Terapkan indeks penelusuran fokus yang benar ke Composable turunan Scaffold. Urutan adalah topBar, bottomBar, fab, konten, snackbar. (I5936b)
  • Memperbaiki masalah di DatePicker dan DateRangePicker, 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 dan DateRangePicker kini memperbarui bulan yang ditampilkan dengan benar saat ditetapkan melalui displayedMonthMillis statusnya. (If9e47, b/333414302)
  • Memperbaiki error di DatePicker dan DateRangePicker 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
  • [ModalBottomSheet] kini mendukung Kembali Prediktif di U+ (Iccf32, b/281967264, b/304850357)
  • [SearchBar] kini mendukung Kembali Prediktif di U+ (I657f8)
  • Panel Navigasi (ModalDrawerSheet dan DismissibleDrawerSheet) 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, bukan PullToRefreshState.
    • Memisahkan koneksi scroll bertingkat dari PullToRefreshState. Proses ini ditangani oleh PullToRefreshBox atau Modifier.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
  • 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 dan darkColorScheme. (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 dengan Surface dan TonalElevation kini menggunakan peran SurfaceContainer 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

  • Sediakan androidx.compose.material3.DropdownMenu 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 di PullToRefreshBox (I75679)
  • Membuat TooltipScope menjadi antarmuka tertutup dan membuat implementasi internal untuk digunakan di TooltipBox dan Label. (I3833e)
  • Menambahkan dua pengubah baru ke CarouselItemScope - maskClip dan maskBorder - untuk menambahkan bentuk dan batas dengan mudah ke item carousel (Id67a1)
  • TimePickerState sekarang menjadi antarmuka dan memungkinkan penyetelan waktu (I88546)
  • Mengupdate API untuk menata gaya link: memindahkan TextLinkStyles ke TextStyle dan menghapus TextDefaults 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, bukan CaretProperties. Menghapus CaretProperties. Mengganti nama CaretScope menjadi TooltipScope. (Id9a76)
  • Memperbarui API untuk mendapatkan link bertema Material dalam teks. Secara khusus, menghapus metode dari TextDefaults untuk membuat LinkAnnotations bertema dan mengurai HTML dengan link bertema. Sebagai gantinya, tambahkan class TextLinkStyles 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, bukan PullToRefreshState.
    • Memisahkan koneksi scroll bertingkat dari PullToRefreshState. Proses ini ditangani oleh PullToRefreshBox atau Modifier.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 API

  • RippleConfiguration#isEnabled telah dihapus, dan LocalRippleConfiguration telah dibuat nullable. Untuk menonaktifkan ripple, berikan null ke LocalRippleConfiguration, bukan memberikan RippleConfiguration dengan isEnabled = 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. Parameter ModalBottomSheet windowInsets diganti namanya menjadi contentWindowInsets untuk menentukan tempat inset akan diterapkan, dan tidak lagi terikat dengan logika jendela. Jenis contentWindowInsets telah diubah menjadi fungsi yang menampilkan WindowInsets, agar dapat di-resolve dalam jendela barunya. (I39630, b/274872542, b/300280229, b/290893168)
  • PrimaryScrollableTabRow dan SecondaryScrollableTabRow 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 argumen pressedStyle 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 dan DockedSearchBar 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 sebagai SearchBarDefaults.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 mask yang digunakan untuk memotong item (I785d8)
  • Menghapus BasicTooltipState dari API publik Material 3. Fungsinya digabungkan dengan TooltipState hingga BasicTooltip Foundation distabilkan. (Icda29)
  • Menambahkan objek TextDefaults yang berisi metode untuk membuat LinkAnnotation dan mengurai string bertag HTML yang menerapkan MaterialTheme ke link (I98532, b/139312671)
  • ExposedDropdownMenuBoxScope tidak lagi mengizinkan subclass. Menu dropdown yang ditampilkan kini memiliki MenuAnchorType yang harus diteruskan ke menuAnchor untuk mendukung a11y yang lebih baik. Ini harus digunakan, bukan meneruskan focusable ke ExposedDropdownMenu, yang sekarang tidak digunakan lagi. menuAnchor memiliki parameter baru untuk mengontrol status enabled. (I55ee6, b/257209915, b/308840226)
  • Memperbaiki warna batas OutlinedButton saat dinonaktifkan. Menambahkan overload ButtonDefaults.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 menjadi Container. (Ie8d3b)

Perbaikan Bug

  • BottomSheetScaffold tidak akan lagi men-scroll dari scroll bertingkat jika sheetSwipeEnabled bernilai salah. (I5e1c1, b/306464779)
  • Menghapus beberapa anotasi Keikutsertaan ExperimentalMaterial3Api di IconButtonSamples.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 dan HorizontalUncontainedCarousel (I88d64)
  • Memperbarui Panel Samping Navigasi Compose M3 (ModalDrawerSheet dan DismissibleDrawerSheet) 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, dan SwipeToDismissBoxValue kini ditandai stabil. (I5f000)
  • Menghapus enum dan API DismissDirection dan DismissValue yang tidak digunakan lagi. (I89ccd)
  • Menambahkan tag eksperimental ke objek pendamping CarouselState Carousel. (I94154)
  • Menghentikan penggunaan LocalMinimumInteractiveComponentEnforcement dan memperkenalkan LocalMinimumInteractiveComponentSize untuk menggantikannya. (I7a7ac)
  • Konstruktor SearchBarColors kini bersifat publik. (I769ca)
  • Menambahkan parameter gesturesEnabled ke SwipeToDismissBox. (Idc59f, b/324170119)
  • Menghapus API kolom teks yang ditandai sebagai tidak digunakan lagi dan eksperimental. (I1305f)

Versi 1.3.0-alpha03

20 Maret 2024

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

Perubahan yang Dapat Menyebabkan Gangguan Visual

  • 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 dan darkColorScheme. (I9db52)

Fitur Baru

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

Perubahan API

  • Flag ScaffoldSubcomposeInMeasureFix telah dihapus. (Ie2a4b)
  • NavigationRailItemColors sekarang ditandai sebagai @Immutable. (If6112, b/327660613)
  • NavigationBarItemColors sekarang ditandai sebagai @Immutable. (I42a30, b/298064514)
  • Mengurutkan ulang parameter di composable Jalur Penggeser. (I9f315)
  • ExposedDropdownMenu kini diimplementasikan menggunakan Popup. 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 dan darkColorScheme. (I9db52)

Versi 1.3.0-alpha02

6 Maret 2024

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

Perubahan API

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

Perbaikan Bug

  • Varian SurfaceContainer kini digunakan oleh komponen. Komponen yang secara formal menghitung warna dengan Surface dan TonalElevation kini menggunakan peran SurfaceContainer 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 dan RangeSlider 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 bertingkat DateRangePicker atau saat menampilkan jenis pemilih tanggal apa pun di layar kecil dengan font yang lebih besar. (Ie4758, b/325107799, b/277768544)
  • Menu kini memanfaatkan peran SurfaceContainer untuk warna penampung. MenuDefaults.TonalElevation sekarang menjadi 0.dp. (I135b7)
  • TextField kini memanfaatkan peran SurfaceContainerHighest untuk warna penampung. (I4dced)
  • Chip yang ditinggikan kini memanfaatkan peran SurfaceContainerLow (I7cd2f)
  • Warna penampung DatePicker sekarang adalah SurfaceContainerHigh. DatePickerDefaults.TonalElevation sekarang menjadi 0.dp. (Ida753)
  • Memperbarui warna penampung dan warna handle tarik Sheet Bawah. (I72a0a)
  • Warna penampung RichTooltip sekarang adalah SurfaceContainer. (Ia8b45)
  • Warna penampung SearchBar sekarang adalah SurfaceContainerHighest. SearchBarDefaults.TonalElevation sekarang menjadi 0.dp. (I88604)
  • Update mengalihkan jalur/ikon yang dinonaktifkan dan tidak dipilih untuk memanfaatkan peran warna SurfaceContainerHighest. (I7687a)
  • Warna penampung AlertDialog sekarang adalah SurfaceContainerHigh. (Ie0433)
  • Warna penampung BottomAppBar sekarang adalah SurfaceContainer. Warna TopAppBar onScroll kini menjadi SurfaceContainer. (I41630)
  • Warna penampung ElevatedCard sekarang adalah SurfaceContainerLow. Warna penampung FilledCard dari SurfaceContainerHighest. (I35141)
  • Warna penampung ElevatedButton sekarang adalah SurfaceContainerLow. FilledIconButton jika tidak dipilih kini memiliki warna penampung SurfaceContainerHighest. (I792c9)
  • Memperbarui warna penampung TimePicker dan peran warna tombol jam menjadi SurfaceContainerHighest. (I43b93)

Versi 1.3.0-alpha01

21 Februari 2024

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

Fitur Baru

  • 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 mengekspos MutableInteractionSource nullable yang ditetapkan secara default ke null. Tidak ada perubahan semantik di sini: meneruskan null berarti Anda tidak ingin mengangkat MutableInteractionSource, dan MutableInteractionSource akan dibuat di dalam komponen jika diperlukan. Mengubah ke null memungkinkan beberapa komponen tidak pernah mengalokasikan MutableInteractionSource, dan memungkinkan komponen lain hanya membuat instance secara lambat saat diperlukan, yang meningkatkan performa di seluruh komponen ini. Jika Anda tidak menggunakan MutableInteractionSource yang diteruskan ke komponen ini, sebaiknya teruskan null. Sebaiknya Anda juga membuat perubahan serupa di komponen Anda sendiri. (I41abb, b/298048146)
  • Menambahkan RippleConfiguration dan LocalRippleConfiguration untuk memungkinkan penyesuaian ripple per komponen / sub-hierarki menggunakan nilai tetap. Misalnya, untuk mengubah warna komponen yang tidak Anda kontrol, atau untuk menonaktifkan ripple untuk komponen. 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 menggunakan createRippleModifierNode. (I7b5d6, b/298048146)
  • Menambahkan ripple API baru di material3 yang menggantikan rememberRipple yang tidak digunakan lagi. Juga menambahkan CompositionLocal, LocalUseFallbackRippleImplementation sementara, untuk mengembalikan komponen material3 agar menggunakan API rememberRipple / RippleTheme yang tidak digunakan lagi. Ini akan dihapus dalam rilis stabil berikutnya, dan hanya dimaksudkan sebagai bantuan migrasi sementara untuk kasus saat Anda menyediakan RippleTheme kustom. (I34cbc, b/298048146)

Perbaikan Bug

  • Menghapus subkomposisi di dalam ModalBottomSheet untuk meningkatkan performa. Memperbaiki masalah ModalBottomSheet yang error dalam skenario tertentu yang dikombinasikan dengan LookaheadScope. (I2a198)
  • Menghapus subkomposisi di dalam BottomSheetScaffold untuk meningkatkan performa. Memperbaiki masalah saat BottomSheetScaffold mengalami error dalam skenario tertentu yang dikombinasikan dengan LookaheadScope. (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. Menggabungkan onValueChangeFinished dalam rememberUpdatedState. (Ie8fd0, b/322269951)
  • Menghapus @Stable dari status Slider karena kita mengubah state.onValueChangeFinished menjadi var. (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 menggunakan TabRow dengan TabRowDefaults.PrimaryIndicator

Perubahan penting sejak 1.1.0

Komponen Desain Material 3 Baru

Peningkatan pada komponen Desain Material 3 yang ada.

Mempromosikan API eksperimental menjadi stabil.

Peningkatan performa

Versi 1.2.0-rc01

24 Januari 2024

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

Perbaikan Bug

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

Versi 1.2.0-beta02

10 Januari 2024

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

Bug Umum

  • Bug di IconButtonColors secara default akan menetapkan disabledContentColor ke alfa (0,38f) dari LocalContentColor, bukan contentColor yang ditentukan pengguna. Solusinya adalah menetapkan disabledContentColor 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, dan SwipeToDismissValue 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+ saat android:enableOnBackInvokedCallback="true". (I728dc, b/306196110)

Versi 1.2.0-beta01

13 Desember 2023

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

Perubahan API

  • 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 membuat indikator TabRow dengan pengubah kustom yang disediakan. (Ife741)
  • Menghentikan penggunaan DismissDirection dan DismissValue API. Nilai ini telah digabungkan ke SwipeToDismissValue, yang nilainya menunjukkan posisi dan arah SwipeToDismissBox. DismissState.progress kini ditandai sebagai FloatRange antara 0.0 dan 1.0. Penghemat dan Konstruktor DismissState yang tidak digunakan lagi kini telah dihapus. Komponen SwipeToDismiss, status, dan objek default telah ditandai 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 nilai FloatRange 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 dan PullToRefreshState, yang bersama-sama memberikan implementasi pull to refresh di Material3. (I16456, b/261760718)

Perubahan API

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

Perbaikan Bug

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

Versi 1.2.0-alpha10

18 Oktober 2023

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

Perubahan API

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

Perbaikan Bug

  • Memperbaiki error DatePicker saat mengklik tombol panah navigasi dengan cepat saat bulan yang ditampilkan berada di 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 dan DismissibleNavigationDrawer untuk menggunakan AnchoredDraggable API baru. animateTo DrawerState telah diganti dengan metode buka dan tutup, dan offsetnya sekarang ditampilkan sebagai float, bukan objek status. Anda dapat mengakses offset langsung melalui currentOffset. (I0a72c)
  • Fungsi non-Composable telah ditambahkan untuk membuat DatePickerState dan DateRangePickerState secara langsung. Fungsi ini dapat digunakan sebagai alternatif untuk fungsi Composable rememberDatePickerState dan rememberDateRangePickerState 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 dan SecondaryScrollableTabRow 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 dan RichTooltipBox API sebagai metode yang tidak digunakan lagi. (I246fa)

Perbaikan Bug

  • Memperbaiki error saatDatePicker diinisialisasi dengan DatePickerFormatter yang memiliki kerangka tanggal tertentu yang tetap sama saat dikonversi menjadi 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. Akibatnya, 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 menggunakan BottomAppBarScrollBehavior sebagai parameter untuk menyembunyikannya secara otomatis saat konten di-scroll. Juga menambahkan FabPosition.EndOverlay yang memungkinkan FAB menempatkan panel aplikasi bawah di scaffold, bukan di atas panel aplikasi. (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 memanggil onDismissedRequest 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 mengimplementasikan DraggableState (I9b116)
  • Mengubah bentuk menjadi parameter wajib. Ganti nama position menjadi index dalam fungsi bantuan bentuk. (I34941)
  • Memperbarui DatePicker formatWithSkeleton untuk menyertakan peta yang digunakan sebagai cache untuk peningkatan performa. (I3195f)
  • Menambahkan BasicTooltipBox ke compose.foundation dan memperbarui PlainTooltipBox dan RichTooltipBox untuk menggunakan TooltipBox dengan composable PlainTooltip dan RichTooltip baru. (I79e1d)

Perbaikan Bug

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

Versi 1.2.0-alpha06

23 Agustus 2023

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

Perbaikan Bug

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

Versi 1.2.0-alpha05

9 Agustus 2023

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

Perubahan API

  • Pembaruan pada warna Kotak Centang dan TriStateCheckbox. CheckboxDefaults.colors() disabledUncheckedColor kini hanya memengaruhi batas kotak centang. Kasus khusus yang mengharuskan Anda menetapkan warna kotak internal saat dinonaktifkan dan tidak dicentang memerlukan instance CheckboxColors yang dibuat 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 dan ToggelableSegmentedButtonRow. (I38740)
  • Pembagi telah diganti namanya menjadi HorizontalDivider. Menambahkan fungsi VerticalDivider. (I5975c)
  • Mengubah penggunaan ClosedFloatingPointRange untuk FloatRange yang lebih ringan di API Material3 eksperimental untuk meminimalkan autoboxing. (I4aab5)
  • Menambahkan perataan Awal baru untuk FabPosition (Ib7aea, b/170592777)

Perbaikan Bug

Versi 1.2.0-alpha03

21 Juni 2023

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

Perubahan Perilaku

  • includeFontPadding sekarang menjadi false secara default dalam tipografi Material 3. Gaya tinggi baris default juga telah diubah menjadi Trim.None dan Alignment.Center, dan lineHeight eksplisit (dalam sp) telah ditambahkan ke TextStyle dari Typography. 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. Membuat RangeSliderState yang menyimpan semua informasi untuk jalur aktif saat ini, pengukuran komponen RangeSlider, dan logika tarik dan gestur. (I8c270)
  • Kotak penelusuran kini mendukung bayangan melalui parameter shadowElevation yang baru ditambahkan. (Ia5369, b/271040353)
  • ColorScheme kini mendukung peran SurfaceContainer baru.
  • Overlay elevasi tonal permukaan kini dapat dinonaktifkan dengan komposisi lokal 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 membuat StandardSizeClasses untuk WindowSizeClasses (I91838)
  • mengubah WindowWidth/HeightSizeClass menjadi class nilai float (Ie686e)

Perbaikan Bug

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

Versi 1.2.0-alpha02

24 Mei 2023

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

Perubahan API

  • Tambahkan parameter inset jendela ke ModalBottomSheet.
    • Skrim untuk ModalBottomSheet kini dapat digambar di belakang status bar dengan windowInsets 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 untuk BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)
  • Menghentikan penggunaan Indicator dan menambahkan Primary/SecondaryIndicator agar cocok dengan spesifikasi M3. PrimaryIndicator cocok dengan lebar konten tab, sedangkan SecondaryIndicator mencakup lebar penuh yang tersedia. SecondaryIndicator setara dengan Indicator yang kini tidak digunakan lagi dan dapat menjadi pengganti langsung. (I27604)
  • Menambahkan opsi untuk meneruskan ScrollState saat membuat DropdownMenu atau ExposedDropdownMenu untuk mengontrol status scroll vertikal item menu yang ditampilkan. (Ia0734, b/185304441)
  • Menambahkan overload untuk Slider yang merupakan versi stateful dari komponen. Membuat SliderState yang menyimpan semua informasi untuk jalur aktif saat ini, pengukuran komponen Slider, dan logika tarik dan gestur. (I124a5)
  • Mengganti nama properti Semantik isContainer menjadi isTraversalGroup (I121f6)
  • Menambahkan TextStyle.merge(...) yang dioptimalkan dengan daftar parameter lengkap. (Iad234, b/246961787)
  • Membuat antarmuka publik TooltipState, RichTooltipState, dan PlainTooltipState. Menambahkan RichTooltipStateImpl dan PlainTooltipStateImpl untuk status default. Menambahkan fungsi remember*State untuk mendapatkan status yang diterapkan ini. Menghapus TooltipSync dan menggantinya dengan TooltipDefault.GlobalMutatorMutex. (I7813d)
  • Memperbarui DatePickerColors untuk menyertakan opsi penyesuaian tambahan untuk warna pemisah pemilih tanggal, navigasi, dan kolom input teks. (I1a685, b/274626815)
  • DatePickerState dan DateRangePickerState kini menjadi antarmuka publik dengan implementasi default yang dapat diambil oleh rememberDatePickerState dan rememberDateRangePickerState. (I71c52)
  • Menghapus dateValidator dari DatePicker dan DateRangePicker serta memperkenalkan antarmuka SelectableDates 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 parameter windowInset untuk kompatibilitas biner. (Ib7959)
  • Tambahkan parameter inset jendela ke ModalBottomSheet.
    • Skrim untuk ModalBottomSheet kini dapat digambar di belakang status bar dengan windowInsets 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 untuk BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)

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 parameter skipHiddenState opsional
  • rememberStandardBottomSheetState kini memiliki parameter skipHiddenState opsional
  • BottomSheetScaffold kini memiliki Anchor tersembunyi yang ditentukan, meskipun dinonaktifkan secara default
  • Dokumentasi SheetState.requireOffset telah diperbarui
  • BottomSheetDefaults.MinimizedShape diganti namanya menjadi BottomSheetDefaults.HiddenShape (I839f4, b/273870234)

Perbaikan Bug

  • Jangan beralih tampilan jam dari jam ke menit saat eksplorasi sentuh diaktifkan. (I717d0)
  • Semantik handle tarik ModalBottomSheet dan BottomSheetScaffold kini digabungkan. (I05afb)
  • Parameter pengubah BottomSheetScaffold, containerColor, dan contentColor 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 dan BottomSheetScaffoldState. (I063d4)

Perubahan API

  • Menambahkan fungsi ke DatePickerState dan DateRangePickerState 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 fungsi setSelection baru akan menampilkan pengecualian jika tanggal yang diberikan gagal memenuhi prasyarat (lihat dokumentasi). (Ifa645, b/268609314, b/270427389)
  • Ganti nama SheetValue yang Diciutkan menjadi PartiallyExpanded untuk menggambarkan perilaku dalam status ini dengan lebih akurat dan fleksibel. (Ia1491)
  • Memperbarui nama parameter ListItem menjadi _content, bukan _text. Pengambil default kini menjadi ReadOnlyComposables 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 untuk ModalBottomSheet. (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 menjadi unfocusedTextColor, dan placeholderColor telah diganti namanya menjadi unfocusedPlaceholderColor.
    • Warna penampung untuk kolom teks yang terisi berdasarkan status error dengan parameter errorContainerColor baru.
  • 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 menjadi elevation dalam fungsi elevasi chip. (I0f872)
  • API kolom teks Material 3 berikut tidak lagi bersifat eksperimental: TextField, OutlinedTextField, textFieldWithLabelPadding, textFieldWithoutLabelPadding, outlinedTextFieldPadding. (Ieb5c0, b/261561819)
  • TimePickers is24Hour menggunakan setelan sistem (I18856)
  • Menghapus anotasi eksperimental dari API scaffold. (Ibb51e, b/261565765, b/261436953)

Perbaikan Bug

  • Bentuk default ModalBottomSheet kini selalu SheetDefaults.ExpandedShape. (I0dfca)
  • Peningkatan aksesibilitas untuk DatePicker dan DateRangePicker 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 bersama TimePickerState dan metode yang mempermudah pekerjaan rememberTimePickerState (I71910)
  • Input tanggal kini menjadi mode tampilan di DatePicker. Menambahkan dukungan untuk beralih antara mode pemilih tanggal dan input tanggal. (Ieeff7)
  • Menambahkan API untuk RichTextTooltips. (I58ef3)
  • Implementasi sheet bawah modal untuk Material 3, termasuk ModalBottomSheet dan ModalBottomSheetDefaults. Selain itu, memperkenalkan SheetState dan rememberSheetState yang dapat digunakan untuk komponen sheet pada masa mendatang. (I0853a, b/244189383)

Perubahan API

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

Versi 1.1.0-alpha05

26 Januari 2023

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

Fitur Baru

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

Update Dependensi

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

Versi 1.1.0-alpha04

11 Januari 2023

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

Fitur Baru

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

Perubahan API

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

Perbaikan Bug

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

Masalah Umum

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

Versi 1.1.0-alpha03

7 Desember 2022

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

Perubahan API

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

Update Dependensi

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

Versi 1.1.0-alpha02

9 November 2022

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.1.0-alpha01

24 Oktober 2022

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

Perbaikan Bug

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

Versi 1.0

Versi 1.0.1

9 November 2022

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

Perbaikan Bug

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

Versi 1.0.0

24 Oktober 2022

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

Fitur utama versi 1.0.0

Ini adalah rilis stabil pertama Compose Material 3!

Tema Desain Material 3 dan warna dinamis Material You

Komponen Desain Material 3

Class Ukuran Jendela

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

  • Lihat postingan blog ini untuk detail selengkapnya.

Versi 1.0.0-rc01

5 Oktober 2022

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

Perubahan API

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

Versi 1.0.0-beta03

21 September 2022

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-beta02

7 September 2022

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-beta01

24 Agustus 2022

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

Referensi API

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

Perubahan API

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

Versi 1.0.0-alpha16

10 Agustus 2022

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

Fitur Baru

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

Perubahan API

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

Versi 1.0.0-alpha15

27 Juli 2022

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

Fitur Baru

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-alpha14

29 Juni 2022

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

Fitur Baru

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-alpha13

1 Juni 2022

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

Perubahan API

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

Versi 1.0.0-alpha12

18 Mei 2022

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

Perbaikan Bug

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

Versi 1.0.0-alpha11

11 Mei 2022

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

Fitur Baru

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-alpha10

20 April 2022

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

Fitur Baru

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-alpha09

6 April 2022

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

Fitur Baru

  • Menambahkan Material 3 Switch API (I2c3ad)

Perubahan API

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

Versi 1.0.0-alpha08

23 Maret 2022

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

Fitur Baru

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-alpha07

9 Maret 2022

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-alpha06

23 Februari 2022

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-alpha05

9 Februari 2022

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

Fitur Baru

Menambahkan komponen Desain Material 3

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-alpha04

26 Januari 2022

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-alpha03

12 Januari 2022

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

Perbaikan Bug

Update Dependensi

  • Sekarang bergantung pada Kotlin 1.6.10.

Versi 1.0.0-alpha02

1 Desember 2021

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

Fitur Baru

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-alpha01

27 Oktober 2021

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

Fitur Baru

Tema Desain Material 3 dan warna dinamis Material You

Komponen Desain Material 3

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