Kullanım kolaylığı için yerleşik Material 3 bileşenlerinin çoğu (androidx.compose.material3
), bileşenlerin Material spesifikasyonlarına göre uygulamanıza nasıl yerleştirildiğine bağlı olarak iç içe eklemeleri kendileri yönetir.
İçe yerleştirilmiş öğeleri işleme
Aşağıda, iç içe yerleştirilmeleri otomatik olarak işleyen Materyal Bileşenleri'nin listesi verilmiştir.
Uygulama çubukları
TopAppBar
/SmallTopAppBar
/CenterAlignedTopAppBar
/MediumTopAppBar
/LargeTopAppBar
: Pencerenin üst kısmında kullanıldığı için sistem çubuklarının üst ve yatay tarafları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 çekmecesinin içindeki içerik): İçeriğe dikey ve başlangıç iç içe yerleştirilmeleri uygular.ModalBottomSheet
: Alt iç içe eklemeleri uygular.NavigationBar
: Alt ve yatay iç içe eklemeleri uygular.NavigationRail
: Dikey ve başlangıç iç içe yerleştirilmelerini uygular.
İskele
Varsayılan olarak Scaffold
, kullanabileceğiniz paddingValues
parametresi olarak içe yerleştirilmiş öğeler sağlar.
Scaffold
, içeriklere içe yerleştirilen öğeleri uygulamaz. Bu sorumluluk size aittir.
Örneğin, bu iç içe yerleştirilen öğeleri Scaffold
içinde bir 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ışı ve etkin olduğu bir Scaffold
içinde LazyColumn
gösterilmektedir:
Varsayılan iç içe eklemeleri geçersiz kılma
Kompozitin davranışını yapılandırmak için kompozite iletilen windowInsets
parametresini değiştirebilirsiniz. Bu parametre, bunun yerine uygulanacak farklı bir pencere içe yerleştirilmesi türü olabilir veya boş bir örnek geçirilerek devre dışı bırakılabilir:
WindowInsets(0, 0, 0, 0)
.
Örneğin, LargeTopAppBar
öğesinde içe yerleştirilme işlevini devre dışı bırakmak için windowInsets
parametresini boş bir örneğe ayarlayın:
LargeTopAppBar( windowInsets = WindowInsets(0, 0, 0, 0), title = { Text("Hi") } )