Algunos antecedentes de esta pregunta están aquí. Se trata de solucionar un error conocido en Android donde el fondo de WebView debe ser transparente. Android WebView style background-color:transparent ignored on android 2.2WebView transparente que no funciona en Android v4.0
Implica un WebView, que aloja un documento HTML con un fondo transparente, por lo que el WebView es transparente y el documento HTML se puede superponer a otras vistas.
Agregando el siguiente método a la subclase WebView y llamándolo desde el constructor funciona para mí en Android v2, v3 y v4, EXCEPTO cuando la altura del pixel del WebView es mayor que la altura de la pantalla en píxeles (por ejemplo, la WebView está en un ScrollView, por lo que es más largo que la pantalla).
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) {}
}
¿Hay alguna pregunta aquí o quizás la haya respondido dentro de la pregunta? –
Pensé que estaba claro que la pregunta es cómo puedo solucionar el problema para que funcione correctamente WebView transparente. –
¿Entonces la pregunta es cómo hacer que funcione también para la excepción? De todos modos, parece funcionar cuando lo pruebo en el simulador incluso en 4.0. –