如何在android webview中设置透明色?
<div style="background-color: black" >test</div>
如何让整个页面的黑色透明(如抠像)?
答案 0 :(得分:8)
WebView存在同样的问题,因为它在不同的OS版本中随机运行。 Finnlay我使用此代码修复了这个在之后的loadDataWithBaseURL()调用:
if (Build.VERSION.SDK_INT >= 11) {
webView.setBackgroundColor(0x01000000);
} else {
webView.setBackgroundColor(0x00000000);
}
我认为这会给设备带来一些东西,所以各种缓存机制都不会起作用。但结果实际上与完全透明度相同,因为普通人眼无法察觉。
也没有注意到性能损失。
在2.2到4.2之间的几个设备上进行了测试。
干杯
答案 1 :(得分:2)
试试这个
(YourWebview).setBackgroundColor(0x00000000);
答案 2 :(得分:1)
我找到了解决方案。我重新实现了WebView的OnDraw方法
@Override
protected void onDraw(android.graphics.Canvas canvas) {
super.onDraw(canvas);
Paint p = new Paint();
p.setARGB(255, 0, 0, 0);
int removeColor = p.getColor();
p.setAlpha(1); // if Alpha is 0 it doesn't work. I don't know why
p.setXfermode(new AvoidXfermode(removeColor, 0, AvoidXfermode.Mode.TARGET));
canvas.drawPaint(p);
}
答案 3 :(得分:0)
你可以用这个
webView.setBackgroundColor(0);