Kullanım kolaylığı için, yerleşik Material 3 composable'larının (androidx.compose.material3
) çoğu, composable'ların Material spesifikasyonlarına göre uygulamanıza nasıl yerleştirildiğine bağlı olarak yerleştirmeleri kendileri yönetir.
Inset işleme composable'ları
Aşağıda, otomatik olarak iç kısımları işleyen Material Components listelenmiştir.
Uygulama çubukları
TopAppBar
/SmallTopAppBar
/CenterAlignedTopAppBar
/MediumTopAppBar
/LargeTopAppBar
: Pencerenin üst kısmında kullanıldığından sistem çubuklarının üst ve yatay kenarlarını dolgu olarak uygular.BottomAppBar
: Sistem çubuklarının alt ve yatay taraflarını dolgu olarak uygular.
İçerik kapsayıcıları
ModalDrawerSheet
/DismissibleDrawerSheet
/PermanentDrawerSheet
(modal gezinme çekmecesi içindeki içerik): İçeriğe dikey ve başlangıç iç boşlukları uygular.ModalBottomSheet
: Alt iç boşlukları uygular.NavigationBar
: Alt ve yatay iç kenarları uygular.NavigationRail
: Dikey ve başlangıç iç kenarlarını uygular.
İskele
Varsayılan olarak,
Scaffold
kullanmanız ve yararlanmanız için paddingValues
parametresi olarak dolgular sağlar.
Scaffold
, içeriğe yerleştirmeler uygulamaz. Bu sorumluluk size aittir.
Örneğin, bu ekleri Scaffold
içinde LazyColumn
ile kullanmak için:
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 ) { // .. } }
Aşağıdaki videoda, kenardan kenara ekran özelliği devre dışı bırakılmış ve etkinleştirilmiş bir Scaffold
içinde LazyColumn
gösterilmektedir:
Varsayılan iç boşlukları geçersiz kılma
Composable'ın davranışını yapılandırmak için composable'a aktarılan windowInsets
parametresini değiştirebilirsiniz. Bu parametre, bunun yerine uygulanacak farklı bir pencere yerleştirme türü olabilir veya boş bir örnek iletilerek devre dışı bırakılabilir:
WindowInsets(0, 0, 0, 0)
.
Örneğin, LargeTopAppBar
üzerinde yerleştirme işlemeyi devre dışı bırakmak için windowInsets
parametresini boş bir örneğe ayarlayın:
LargeTopAppBar( windowInsets = WindowInsets(0, 0, 0, 0), title = { Text("Hi") } )