Compose webView 使用

266 阅读1分钟

一般用法

val webView = remember {
    WebView(this@WebviewActivity).apply {
        settings.apply {
            javaScriptEnabled = true
            domStorageEnabled = true
            loadWithOverviewMode = true
            useWideViewPort = true
        }
        webChromeClient = WebChromeClient()
        webViewClient = object : WebViewClient() {
            override fun shouldInterceptRequest(
                view: WebView?,
                request: WebResourceRequest?
            ): WebResourceResponse? {
                return super.shouldInterceptRequest(view, request)
            }

            override fun onReceivedError(
                view: WebView?,
                request: WebResourceRequest?,
                error: WebResourceError?
            ) {
                Log.i("ccccccccc","eerror====${error?.description}")
                super.onReceivedError(view, request, error)
            }
        }
    }
}
AndroidView(
    modifier = Modifier.fillMaxSize(),
    factory = { context->
       webView
    }
)

但是有时候部分网页加载不出来,也没错误信息。 可以试试添加

layoutParams = ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT)

像这样

image.png