这个问题的背景在此处。它涉及解决 Android 中已知的 WebView 透明背景 bug 的方法。
Android WebView style background-color:transparent ignored on android 2.2
它涉及一个 WebView,托管一个具有透明背景的 HTML 文档,因此 WebView 是透明的,HTML 文档可以覆盖到其他视图上。
将以下方法添加到 WebView 子类中,并从构造函数中调用,对于我在 Android v2、v3 和 v4 上有效,除非 WebView 的像素高度大于屏幕像素高度(例如,WebView 在 ScrollView 中,所以比屏幕更长)。
将以下方法添加到 WebView 子类中,并从构造函数中调用,对于我在 Android v2、v3 和 v4 上有效,除非 WebView 的像素高度大于屏幕像素高度(例如,WebView 在 ScrollView 中,所以比屏幕更长)。
protected void setBackgroundToTransparent() {
this.setBackgroundColor(Color.TRANSPARENT);
this.setBackgroundDrawable(null);
if (Build.VERSION.SDK_INT >= 11) // Android v3.0+
try {
Method method = View.class.getMethod("setLayerType", int.class, Paint.class);
method.invoke(this, 1, new Paint()); // 1 = LAYER_TYPE_SOFTWARE (API11)
} catch (Exception e) {}
}