我需要WebView透明,但无法找到解决方案
我发现只有
webView.setBackgroundColor(0x00000000);
webView.setLayerType(WebView.LAYER_TYPE_SOFTWARE, null);
,但这只适用于Honeycomb和更老版本,我也需要我的应用程序才能使用2.x. 我在stackoverflow上找到的解决方案都没有工作 - webView仍然是白色的。
任何人都可以告诉我,对于Honeycomb之前的版本有什么用吗?
也许我应该在HTML中改变一些东西?
答案 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);
}
}