在android webview中设置透明色

时间:2012-08-20 22:05:05

标签: android webview transparent chromakey

如何在android webview中设置透明色?

<div style="background-color: black" >test</div>

如何让整个页面的黑色透明(如抠像)?

4 个答案:

答案 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);