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, Material Components'ın ekleri otomatik olarak işleyen bir listesi verilmiş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ç kenarları 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 iç kısımlar sağlar.
Scaffold, içeriklere yerleştirme uygulamamaktadır. 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ın devre dışı bırakıldığı ve etkinleştirildiği bir Scaffold içindeki LazyColumn gösterilmektedir:
Scaffold içinde PaddingValues parametresini kullanmak, kullanıcı arayüzünüzü sistem kullanıcı arayüzünden ve ekran kesimlerinden uzaklaştırmak için genellikle yeterlidir. Kullanıcı arayüzünüze çok fazla dolgu uygulamamak için Scaffold kullanıyorsanız cetveller, dolgu değiştiriciler veya iç boyut değiştiriciler gibi ek iç işleme yaklaşımları kullanmaktan kaçının.
Varsayılan iç boşlukları geçersiz kılma
Composable'ın davranışını yapılandırmak için composable'a iletilen 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") } )