我想用Jetpack创建一个dinamic标题,当用户在主屏幕内容部分滚动时,该标题应调整大小.动态标题工作正常,但我对WebView有一些问题:在渲染WebView时,使用" compose ",它将被拉伸,并且向用户显示的任何弹出窗口都将脱离主视口.
这是一个使用旧式XML布局的实现:
我们在顶部有一个假绿色动态标题.正如预期的那样,webview加载了一个初始弹出窗口,该弹出窗口位于可用屏幕的中心.
使用compose,结果如下:
顶部有假灰色动态标题,但webview被"拉伸",初始弹出窗口未居中.
这种情况也发生在独立的WebView中,顶部没有动态标题,因此这不是动态标题造成的问题.
WebView的实现非常简单
@SuppressLint("SetJavaScriptEnabled")
@Composable
fun PageBodyWithWebView(
scrollState: ScrollState,
) {
val context = LocalContext.current
AndroidView(
modifier = Modifier
.verticalScroll(scrollState)
.fillMaxWidth()
.fillMaxHeight(),
factory = {
WebView(context).apply {
settings.javaScriptEnabled = true
loadUrl(pageUrl)
}
})
}
那么这有什么错呢?我们如何将webview居中,以便用户可以按预期查看所有弹出窗口?