New Compose Multiplatform components arrived on Composables UICheck it out →

Modifier in Compose Foundation Layout

safeContentPadding

Android
Common
Desktop

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][android.view.WindowInsets] will be consumed.

Last updated:

Installation

dependencies {
   implementation("androidx.compose.foundation:foundation-layout:1.7.0-beta04")
}

Overloads


fun Modifier.safeContentPadding()

fun Modifier.safeContentPadding()

fun Modifier.safeContentPadding()

Code Example

safeContentPaddingSample

@Sampled
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
                    }
                }
            }
        }
    }
}