gpt4 book ai didi

android - WebView 嵌套滚动在 Android Jetpack Compose 中不起作用

转载 作者:行者123 更新时间:2023-12-05 05:35:55 24 4
gpt4 key购买 nike

WebView 未在 Compose 中滚动。我需要使用 Compose 将 WebView 放入 BottomSheet 中。即使我们使用 e.g. WebView 也不会滚动的问题NestedWebView , 或 NestedScrollWebView .如果我将 WebView 放在 NestedScrollView 中,它仍然不会对滚动使用react。

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")
}
})

}) {
}

解决方法之一是使用 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
---//---

但是有很多网站无法使用 wrap_content,例如因为像这个网站这样的内部滚动https://contest.rippl.club/ .该站点不适用于该解决方法。如果我们将 webview 高度设置为屏幕高度,它仍然不起作用,因为 verticalScroll 用作 ScrollView,所以它只会滚动到这个高度。

我还检查了这个文档 https://developer.android.com/jetpack/compose/gestures#parent-compose-child-view , 但对 webview 情况没有任何作用。

最佳答案

您需要使用一个 NestedScrollConnection 对象,并将其传递给外部 View 上的 nestedSCroll 修饰符。 Here's一个基本的例子

关于android - WebView 嵌套滚动在 Android Jetpack Compose 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73392743/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com