0

我需要一个透明的 WebView,但找不到解决方案

我只发现

webView.setBackgroundColor(0x00000000);
webView.setLayerType(WebView.LAYER_TYPE_SOFTWARE, null);

,但这仅适用于 Honeycomb 及以上版本,我的应用程序也需要在 2.x 上工作。我在 stackoverflow 上找到的所有解决方案都不起作用——webView 仍然是白色的。

谁能告诉我蜂窝之前的版本肯定有什么作用?

也许我也应该更改 html 中的某些内容?

4

2 回答 2

1

这对我有用: myWebView.setBackgroundColor(Color.TRANSPARENT);

或者作为 html 的一部分添加这里是我的代码片段:

String css = "<head><style >* {word-wrap: break-word;margin:0;padding:0;font-size:15px; text-align:justify;font-family: Arial, Helvetica, sans-serif}</style></head>";

myWebView.loadData(css, "text/html", null);
myWebView.setBackgroundColor(Color.TRANSPARENT);
于 2013-08-09T17:03:29.813 回答
0

我已经编写了一个辅助方法来做到这一点,它似乎在大多数情况下都可以工作,将所有版本的背景颜色设置为透明,并在可用的情况下更改图层类型......

@TargetApi(Build.VERSION_CODES.HONEYCOMB)
@SuppressLint("NewApi")
public static void clearWebViewBackground (final WebView webView) {
    webView.setBackgroundColor(0x00FFFFFF);
    webView.setWebViewClient(new myWebViewClient());
    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) {
        webView.setLayerType(WebView.LAYER_TYPE_SOFTWARE, null);
    }
}
于 2013-08-09T17:23:30.473 回答