java Android - 如何让Android 2.x的WebView透明?

时间:2013-08-09 16:59:31

标签: android webview transparent

我需要WebView透明,但无法找到解决方案

我发现只有

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

,但这只适用于Honeycomb和更老版本,我也需要我的应用程序才能使用2.x. 我在stackoverflow上找到的解决方案都没有工作 - webView仍然是白色的。

任何人都可以告诉我,对于Honeycomb之前的版本有什么用吗?

也许我应该在HTML中改变一些东西?

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分: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);
    }
}