2012-01-17 15 views
8

Quiero mostrar webView en una imagen estática en imageView."cuerpo de fondo-color: transparente" no afectó en la vista web de Android 4.0.3

puse color transparente a web View como esto

webview.setBackground(0); 

puse background-color como transparente

<html> 
<head> 
</head> 
<body style="background-color:transparent"> 
</body> 
</html> 

pero los antecedentes de Webview sigo mostrando como blanco.

Muestro todas las preguntas y pruebo la siguiente solución de la página, pero no hay nada que cambiar.

¿Tiene alguna idea? Por favor, ayúdame.

+0

Este problema se corrigió en Android 4.1.1. – OceanLife

Respuesta

5

Una forma de evitar esto es que desmarcar "Fuerza de procesamiento de GPU" en

Settings -> Developer Options -> Force GPU Rendering 

Pero eso no resuelve el problema. Probé este código en emulador y funciona. Al forzar el procesamiento de la vista web mediante el uso de software en lugar de la aceleración de hardware.

webview.setBackgroundColor(Color.TRANSPARENT); 
    webview.setLayerType(WebView.LAYER_TYPE_SOFTWARE, null); 

¿Soluciona su problema?

+0

me salvó mucho tiempo hombre –

10

Me encontré con el mismo problema con el fondo blanco WebView en un dispositivo con ICS (4.0)!

¡La respuesta de NcJlee eliminó el fondo blanco de la vista web, pero requiere nivel de API 11! ¡No funcionará en API más antiguas!

webView.setBackgroundColor(0); 
    webView.setLayerType(WebView.LAYER_TYPE_SOFTWARE, null); 

La solución es establecer un androide: layerType = atributo de "software" en la vista web en el recurso diseño .xml.

<WebView 
     android:id="@+id/webviev" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="@android:color/transparent" 
     android:layerType="software" /> 
+0

En ICS, solo tuve que deshabilitar "Forzar renderización GPU" en la configuración del sistema como mencionó NcJiee, y luego establecerBackgroundColor a Color.TRANSPARENT. Sin embargo, tuve que eliminar la declaración setLayerType, que no está disponible en el nivel 10 de la API. – Aki

0

tratar este código para transprent vistaweb

webView.setBackgroundColor(Color.TRANSPARENT); 
0

intentos de invocar setLayerType o especificar androide: layerType en XML causado errores de compilación para mí. Esto sucedió a pesar de establecer minSdkVersion o targetSdkVersion en 11+.

Así, terminé usando la reflexión para llamar setLayerType como se recomienda en: Transparent WebView not working on Android v4.0

Cuestiones relacionadas