2

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

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

如何使整个页面的黑色透明(如色度键)?

4

4 回答 4

8

WebView 也有同样的问题,因为它在不同的操作系统版本中随机运行。Finnlay 我在 loadDataWithBaseURL() 调用之后用这个代码修复了它:

if (Build.VERSION.SDK_INT >= 11) {
    webView.setBackgroundColor(0x01000000);
} else {
    webView.setBackgroundColor(0x00000000);
}

我认为这会给设备一些可绘制的东西,因此不会启动各种缓存机制。但结果实际上与完全透明的结果相同,因为普通人眼无法察觉。

也没有注意到性能损失。

在从 2.2 到 4.2 的多个设备上进行了测试。

干杯

于 2013-08-15T16:03:20.643 回答
2

尝试这个

(YourWebview).setBackgroundColor(0x00000000);
于 2012-08-20T22:48:54.683 回答
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);
}
于 2012-08-23T21:04:57.870 回答
0

你可以用这个

webView.setBackgroundColor(0);
于 2012-11-29T19:23:58.427 回答