File tree Expand file tree Collapse file tree
demo-shared/src/commonMain/kotlin/io/github/kdroidfilter/webview/demo
androidMain/kotlin/io/github/kdroidfilter/webview/web
commonMain/kotlin/io/github/kdroidfilter/webview/setting Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -60,6 +60,7 @@ fun App() {
6060 rememberWebViewState(" https://httpbin.org/html" ) {
6161 logSeverity = KLogSeverity .Info
6262 desktopWebSettings.transparent = true
63+ androidWebSettings.goBackEnabled = true
6364 backgroundColor = androidx.compose.ui.graphics.Color .White
6465 }
6566 val jsBridge = rememberWebViewJsBridge(navigator)
Original file line number Diff line number Diff line change @@ -48,6 +48,7 @@ kotlin {
4848
4949 androidMain.dependencies {
5050 implementation(libs.kotlinx.coroutinesAndroid)
51+ implementation(libs.androidx.activity.compose)
5152 }
5253
5354 jvmMain.dependencies {
Original file line number Diff line number Diff line change @@ -8,6 +8,7 @@ import android.webkit.WebResourceError
88import android.webkit.WebResourceRequest
99import android.webkit.WebView
1010import android.webkit.WebViewClient
11+ import androidx.activity.compose.BackHandler
1112import androidx.compose.foundation.layout.BoxWithConstraints
1213import androidx.compose.runtime.Composable
1314import androidx.compose.runtime.remember
@@ -79,6 +80,12 @@ private fun AndroidWebViewContainer(
7980 val chromeClient = remember { AndroidWebChromeClient (state, navigator) }
8081 val scope = rememberCoroutineScope()
8182
83+ BackHandler (
84+ enabled = state.webSettings.androidWebSettings.goBackEnabled && navigator.canGoBack,
85+ ) {
86+ navigator.navigateBack()
87+ }
88+
8289 AndroidView (
8390 factory = { context ->
8491 factory(context).apply {
Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ sealed class PlatformWebSettings {
1010 var allowFileAccess : Boolean = false ,
1111 var textZoom : Int = 100 ,
1212 var useWideViewPort : Boolean = false ,
13+ var goBackEnabled : Boolean = false
1314 ) : PlatformWebSettings()
1415
1516 data class DesktopWebSettings (
You can’t perform that action at this time.
0 commit comments