WindowInsets

Function

Android
fun DeviceConfigurationOverride.Companion.WindowInsets(
    windowInsets: WindowInsetsCompat
): DeviceConfigurationOverride

A DeviceConfigurationOverride that overrides the window insets for the contained content.

Code Examples

DeviceConfigurationOverrideWindowInsetsSample

@Composable
fun DeviceConfigurationOverrideWindowInsetsSample() {
    fun IntRect.toAndroidXInsets() = androidx.core.graphics.Insets.of(left, top, right, bottom)
    DeviceConfigurationOverride(
        DeviceConfigurationOverride.WindowInsets(
            WindowInsetsCompat.Builder()
                .setInsets(
                    WindowInsetsCompat.Type.captionBar(),
                    with(LocalDensity.current) { DpRect(0.dp, 64.dp, 0.dp, 0.dp).toRect() }
                        .roundToIntRect()
                        .toAndroidXInsets(),
                )
                .setInsets(
                    WindowInsetsCompat.Type.navigationBars(),
                    with(LocalDensity.current) { DpRect(24.dp, 0.dp, 48.dp, 24.dp).toRect() }
                        .roundToIntRect()
                        .toAndroidXInsets(),
                )
                .build()
        )
    ) {
        Box(
            Modifier.background(Color.Blue)
                // Will apply 64dp padding on the top, 24dp padding on the sides, and 48dp on the
                // bottom
                .safeDrawingPadding()
                .background(Color.Red)
        )
    }
}