Webview不显示带有颜色的文本

mik*_*.ro 7 android webview android-webview

在我的应用程序中,我在webview中显示一些Html内容:

String webViewConent = 'this is some <span style="color:#2ecc71">sample</span> string'
webView.loadData(omowienie, "text/html; charset=utf-8", "UTF-8");
Run Code Online (Sandbox Code Playgroud)

但是,在上次应用更新后,与其他一些事情有关,对于某些用户来说,webview无法正常工作.他们只看到span标签之前的字符串.该问题与任何特定的Android版本无关.

小智 24

同样的问题,我发现 base64 编码是一个快速修复:

String base64 = android.util.Base64.encodeToString(html.getBytes("UTF-8"), android.util.Base64.DEFAULT);
mWebView.loadData(base64, "text/html; charset=utf-8", "base64");
Run Code Online (Sandbox Code Playgroud)


小智 8

我今天也遇到了同样的问题。作为一个简单的解决方法,我用 RGB 等效项替换了 CSS 中的十六进制颜色。

<span style="color: #3050c0">Some text</span>
Run Code Online (Sandbox Code Playgroud)

<span style="color: rgb(48, 80, 192)">Some text</span>
Run Code Online (Sandbox Code Playgroud)


Dav*_*pak 7

我发现这个关于 WebView 编码的答案中的方法似乎可以解决这个问题。不要使用loadData,而是尝试loadDataWithBaseURL

webview.loadDataWithBaseURL(null, html, "text/html; charset=utf-8", "utf8", null)
Run Code Online (Sandbox Code Playgroud)


jan*_*oth 0

我有同样的问题。我的应用程序在跨度标记后不显示文本。有些设备工作正常,但有些设备无法工作。已投赞成票!

<p><span style="color:#0000CD"><strong>Materials:</strong></span></p>
Run Code Online (Sandbox Code Playgroud)

根据我的研究和实验,我在我的设备上禁用了 Android System Webview 应用程序。由于这个过程,我的应用程序工作正常。然而,对我来说,这不是一个解决方案。你有什么想法?