ComposeExtensions

Summary

Android Compose extension.

library

Download Stable - compose 25.5.1

Use gradle - compose bom 2025.05.00, kotlin 2.1.21

implementation("tech.thdev:extensions-compose-keyboard-state:25.5.1")
implementation("tech.thdev:extensions-compose-system-ui-controller:25.5.1")
implementation("tech.thdev:extensions-compose-web-view:25.5.1")

Release version are available in Sonatyp’s repository.

Use keyboard extensions

Use scaffold modifier

Scaffold(
    modifier = Modifier
        .imePadding()
        .keyboardHide()
) {
}

when checking status

val keyboardState by rememberKeyboardVisible()

LaunchedEffect(showKeyboard) { // Or DisposableEffect(keyboardState) if you want to react when keyboardState changes
    // Use keyboard state
}

Use system ui controller

// Remember a SystemUiController
val systemUiController = rememberSystemUiController()

DisposableEffect(systemUiController) {
    // Update all of the system bar colors to be transparent, and use
    // dark icons if we're in light theme
    systemUiController.setSystemBarsColor(
        color = Color.Transparent,
    )

    // setStatusBarColor() and setNavigationBarColor() also exist

    onDispose {}
}

Use WebView

ExWebView(
    /* */
)

Sample

image