We just launched Compose Examples featuring over 150+ components! Check it out →

safeDrawingPadding

Common
Android

Modifier in Compose Foundation Layout

Adds padding to accommodate the [safe drawing][WindowInsets.Companion.safeDrawing] insets.

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

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

When used, the [WindowInsets] will be consumed.

Last updated:

Installation

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

Overloads


fun Modifier.safeDrawingPadding(): Modifier

fun Modifier.safeDrawingPadding()

Code Example

safeDrawingPaddingSample

fun safeDrawingPaddingSample() {
    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 won't have anything drawing over it, but all the
                    // background not in the status bars will be white.
                    Box(Modifier.background(Color.White).safeDrawingPadding()) {
                        // app content
                    }
                }
            }
        }
    }
}
by @alexstyl