Arn*_*old 8 android webview bottom-sheet android-jetpack-compose
WebView 不在 Compose 内滚动。我需要使用 Compose 将 WebView 放入 BottomSheet 中。即使我们使用NestedWebView或NestedScrollWebView , WebView 也不会滚动的问题。如果我将 WebView 放入 NestedScrollView 中,它仍然不会对滚动做出反应。
BottomSheetScaffold(
sheetContent = {
AndroidView(factory = {
NestedWebView(it).apply {
layoutParams = ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT
)
settings.domStorageEnabled = true
settings.javaScriptEnabled = true
settings.useWideViewPort = true
webViewClient = WebViewClient()
//loadUrl("https://contest.rippl.club/")
loadUrl("https://codeflarelimited.com")
}
})
}) {
}
Run Code Online (Sandbox Code Playgroud)
解决方法之一是使用 VerticalScroll 并将 webview 高度设置为 WRAP_CONTENT:
val scrollState = rememberScrollState()
AndroidView(modifier = Modifier.verticalScroll(scrollState), factory = {
WebView(it).apply {
layoutParams = ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT
---//---
Run Code Online (Sandbox Code Playgroud)
但有很多网站无法使用wrap_content,例如因为像这个网站https://contest.rippl.club/这样的内部滚动。该网站不适用于该解决方法。如果我们将webview高度设置为屏幕高度,它仍然不起作用,因为verticalScroll就像ScrollView一样,所以它只会滚动到这个高度。
我还检查了此文档https://developer.android.com/jetpack/compose/gestures#parent-compose-child-view,但对于 webview 情况没有任何作用。
| 归档时间: |
|
| 查看次数: |
4345 次 |
| 最近记录: |