3. malzeme iç içe yerleştirilmiş öğeleri kullanma

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ı

İçerik kapsayıcıları

İ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")
    }
)