Build apps faster with our new App builder! Check it out →

safeContentPadding

Common
Android

Modifier in Compose Foundation Layout

Adds padding to accommodate the [safe content][WindowInsets.Companion.safeContent] insets.

Any insets consumed by other insets padding modifiers or [consumeWindowInsets] on a parent layout will be excluded from the padding. [WindowInsets.Companion.safeContent] will be [consumed][consumeWindowInsets] for child layouts as well.

For example, if a parent layout uses [navigationBarsPadding], the area that the parent layout pads for the status bars will not be padded again by this [safeContentPadding] modifier.

When used, the [WindowInsets] will be consumed.

Last updated:

Installation

dependencies {
   implementation("androidx.compose.foundation:foundation-layout:1.8.0-alpha04")
}

Overloads


fun Modifier.safeContentPadding(): Modifier

fun Modifier.safeContentPadding()

Code Example

safeContentPaddingSample

fun safeContentPaddingSample() {
    class SampleActivity : ComponentActivity() {
        override fun onCreate(savedInstanceState: Bundle?) {
            WindowCompat.setDecorFitsSystemWindows(window, false)
            super.onCreate(savedInstanceState)
            setContent {
                Box(Modifier.background(Color.Black).systemBarsPadding()) {
                    // The app content will only be drawn where there is no possible
                    // gesture confusion and content will not be drawn over.
                    // The rest will be plain white
                    Box(Modifier.background(Color.White).safeContentPadding()) {
                        // app content
                    }
                }
            }
        }
    }
}
by @alexstyl