New Compose Multiplatform components arrived on Composables UICheck it out →

Modifier in Compose Foundation Layout

safeDrawingPadding

Android
Common
Desktop

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

Last updated:

Installation

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

Overloads


fun Modifier.safeDrawingPadding()

fun Modifier.safeDrawingPadding()

fun Modifier.safeDrawingPadding()

Code Example

safeDrawingPaddingSample

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