WebView обрезается после определённой точки
Проблема
Я пытаюсь сделать ModalBottomSheet
с WebView
. Мне нужно, чтобы была возможность его прокручивать. На первый взгляд все выглядит нормально, но после того, как я прокручиваю до определенной точки, я вижу вот это:
извините, что картинка такая большая :(
Вот код:
if (showBottomSheet) {
ModalBottomSheet(
onDismissRequest = {
showBottomSheet = false
},
sheetState = sheetState
) {
LazyVerticalGrid(columns = GridCells.Fixed(1)) {
item(span = { GridItemSpan(1) }) {
AndroidView(
factory = {
WebView(it).apply {
layoutParams = ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT
)
webViewClient = object : WebViewClient() {
override fun shouldOverrideUrlLoading(view: WebView, request: WebResourceRequest): Boolean {
if (request.url != uri) {
context.openUrl(request.url)
return true
} else {
return false
}
}
}
settings.javaScriptEnabled = true
loadUrl(uri.toString())
}
},
update = {
it.loadUrl(uri.toString())
}
)
}
}
}
}
Что я пробовал:
Убрать обертку
LazyVerticalGrid
(я ее использовал, потому что без этого ничего бы не прокручивалось (нашел здесь)):if (showBottomSheet) { ModalBottomSheet( onDismissRequest = { showBottomSheet = false }, sheetState = sheetState ) { /* LazyVerticalGrid(columns = GridCells.Fixed(1)) { item(span = { GridItemSpan(1) }) { */ AndroidView( factory = { WebView(it).apply { layoutParams = ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT ) webViewClient = object : WebViewClient() { override fun shouldOverrideUrlLoading(view: WebView, request: WebResourceRequest): Boolean { if (request.url != uri) { context.openUrl(request.url) return true } else { return false } } } settings.javaScriptEnabled = true loadUrl(uri.toString()) } }, update = { it.loadUrl(uri.toString()) } ) /*} }*/ } }
Сделать:
settings.useWideViewPort = true
Вопрос
Как мне сделать так, чтобы WebView
внутри ModalBottomSheet
прокручивался правильно и не обрезался?