我想在imageView上的静态图像上显示webView。
我将透明色设置为webView,如此
webview.setBackground(0);
我将background-color设置为透明
<html>
<head>
</head>
<body style="background-color:transparent">
</body>
</html>
但Webview的背景显示为白色。
我会显示任何问题并尝试以下页面的解决方案,但无需更改。
你有什么想法吗?请帮我。
答案 0 :(得分:10)
我在带有ICS(4.0)的设备上遇到了与白色WebView背景相同的问题!
NcJlee的回答确实从webview中删除了白色背景,但它需要API等级11!它不适用于较旧的API!
webView.setBackgroundColor(0);
webView.setLayerType(WebView.LAYER_TYPE_SOFTWARE, null);
解决方案是在.xml布局资源中的webview上设置android:layerType =“software”属性。
<WebView
android:id="@+id/webviev"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:layerType="software" />
答案 1 :(得分:5)
避免这种情况的一种方法是取消选中
中的“强制GPU渲染” Settings -> Developer Options -> Force GPU Rendering
但这并没有解决问题。我在模拟器中尝试过这段代码,但它确实有效。通过使用软件而不是硬件加速来强制webview呈现。
webview.setBackgroundColor(Color.TRANSPARENT);
webview.setLayerType(WebView.LAYER_TYPE_SOFTWARE, null);
它能解决你的问题吗?
答案 2 :(得分:0)
尝试将此代码用于透明的webview
webView.setBackgroundColor(Color.TRANSPARENT);
答案 3 :(得分:0)
尝试调用setLayerType或在xml中指定android:layerType导致编译错误。尽管将minSdkVersion或targetSdkVersion设置为11 +,但仍然发生了这种情况。
所以,我最终使用反射按照以下建议调用setLayerType:Transparent WebView not working on Android v4.0