Untuk memudahkan penggunaan, banyak composable Material 3 bawaan (androidx.compose.material3
) menangani inset sendiri, berdasarkan cara composable ditempatkan di aplikasi Anda sesuai dengan spesifikasi Material.
Composable penanganan inset
Berikut adalah daftar Komponen Material yang secara otomatis menangani inset.
Panel aplikasi
TopAppBar
/SmallTopAppBar
/CenterAlignedTopAppBar
/MediumTopAppBar
/LargeTopAppBar
: Menerapkan sisi atas dan horizontal kolom sistem sebagai padding karena digunakan di bagian atas jendela.BottomAppBar
: Menerapkan sisi bawah dan horizontal kolom sistem sebagai padding.
Penampung konten
ModalDrawerSheet
/DismissibleDrawerSheet
/PermanentDrawerSheet
(konten di dalam panel navigasi modal): Menerapkan inset vertikal dan awal ke konten.ModalBottomSheet
: Menerapkan inset bawah.NavigationBar
: Menerapkan inset bawah dan horizontal.NavigationRail
: Menerapkan inset vertikal dan start.
Scaffold
Secara default,
Scaffold
menyediakan inset sebagai parameter paddingValues
untuk Anda gunakan.
Scaffold
tidak menerapkan inset ke konten; tanggung jawab ini ada pada Anda.
Misalnya, untuk menggunakan inset ini dengan LazyColumn
di dalam Scaffold
:
Scaffold { innerPadding -> // innerPadding contains inset information for you to use and apply LazyColumn( // consume insets as scaffold doesn't do it by default modifier = Modifier.consumeWindowInsets(innerPadding), contentPadding = innerPadding ) { // .. } }
Video berikut menunjukkan LazyColumn
dalam Scaffold
dengan tampilan layar penuh
dinonaktifkan dan diaktifkan:
Mengganti inset default
Anda dapat mengubah parameter windowInsets
yang diteruskan ke composable untuk mengonfigurasi perilaku composable. Parameter ini dapat berupa jenis inset jendela
yang berbeda untuk diterapkan, atau dinonaktifkan dengan meneruskan instance kosong:
WindowInsets(0, 0, 0, 0)
.
Misalnya, untuk menonaktifkan penanganan inset pada
LargeTopAppBar
,
tetapkan parameter windowInsets
ke instance kosong:
LargeTopAppBar( windowInsets = WindowInsets(0, 0, 0, 0), title = { Text("Hi") } )