2011-08-29 25 views
6

Cuando se muestra WebView en pantalla completa (fill_parent ancho y alto) en Honeycomb, el HTML parpadea un instante cuando se carga en orientación horizontal.Parpadea HTML en el paisaje Honeycomb

Dado este código, solo debe ver el fondo amarillo (WebView color) o el fondo azul (color de cuerpo html). Pero al cambiar al paisaje, puede ver la pantalla parcialmente llena en azul y detrás de amarillo.

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    WebView webView = (WebView) findViewById(R.id.webview); 
    webView.setBackgroundColor(Color.YELLOW); 
    webView.loadData("<html><body style='background-color:#DDF'><p>Hello world!!!</p></body></html>", "text/html", "UTF-8"); 
} 

Es como si el HTML se procesara antes de conocer el tamaño del contenedor, y luego se redimensiona.

Esto se puede reproducir en Android Honeycomb en orientación horizontal, tanto en el emulador como en un dispositivo.

¿Alguna idea?

Respuesta

1

Me doy cuenta de que esta publicación suya es antigua, pero creo que la entrada podría ser útil. No tengo una tableta realmente en forma de panal para probar el cambio de orientación, pero esto debería funcionar independientemente.

Estaba muy perplejo por esto, pero luego noté el problema. basta con cambiar el estilo de "background-color" a simplemente "color":

+0

que cambia el color de la fuente, no el color de fondo. –

+0

De todos modos, el único propósito del color es mostrar este comportamiento extraño de WebView. – willy

+0

Si tuviera que adivinar, lo más probable es que Android cambie el tamaño del contenedor una vez completada la rotación, por lo que se demora un poco y se ve el fondo amarillo. De nuevo, solo una suposición. –

2

pruebe a desactivar la aceleración de hardware para esa actividad en el manifiesto

<activity android:name="com.sample.activity" 
android:hardwareAccelerated="false"/> 
+0

Tuve el mismo comportamiento en un Nexus 4 con Android 4.3. Ambas orientaciones hasta que desplacé la página completamente hacia abajo. ¡Tu sugerencia funcionó espléndida! –