Android kotlin 使用原始WebView加载字符串Html img标签中oss网络地址图片不显示问题与详细解决办法
在Android Kotlin中,使用WebView加载字符串Html时,可能会遇到标签中oss网络地址图片不显示的问题。这是因为WebView默认不支持加载非http或https开头的图片地址。
要解决这个问题,可以通过自定义WebView的方式来处理。以下是详细的解决办法:
- 创建一个自定义的WebViewClient类,继承自WebViewClient:
class CustomWebViewClient : WebViewClient() {
override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest?): Boolean {
// 支持加载非http或https开头的图片地址
view?.loadUrl(request?.url.toString())
return true
}
}
- 在Activity中,使用自定义的WebViewClient,并在WebView中加载字符串Html:
val webView = findViewById<WebView>(R.id.webView)
// 设置WebViewClient
webView.webViewClient = CustomWebViewClient()
// 加载字符串Html
val htmlString = "<html><body><img src='https://www.example.com/image.jpg'></body></html>"
webView.loadDataWithBaseURL(null, htmlString, "text/html", "UTF-8", null)
通过上述步骤,我们可以自定义WebViewClient来处理加载图片的请求,并支持加载非http或https开头的图片地址。这样,标签中oss网络地址图片就能正确显示了
原文地址: https://www.cveoy.top/t/topic/iI8R 著作权归作者所有。请勿转载和采集!