WebView dentro de ViewPager o ScrollView – extraño error de renderizado en Android 3.0+
Tengo un ViewPager. Cada página del ViewPager es ScrollView. El ScrollView contiene un WebView y varias otras vistas.
En Android 2.3 y versiones anteriores todo funciona bien, pero en 3.0+ hay un extraño problema de renderizado:
- Problemas de compatibilidad de Android 4.0 con Canvas.clipPath
- Trabaje alrededor de Canvas.clipPath () que ya no es compatible con android
- Transiciones de páginas lentas en Android con aceleración de hardware en
- Conseguir que los codificadores QualComm funcionen a través de la API de MediaCodec
- ¿Por qué llamar a setScaleX durante el gesto de pinch zoom causa parpadeo?
Cuando se desplaza a la izquierda / derecha en ViewPager, también hay un problema de renderizado muy sutil (que también está presente en la aplicación de Android 4.0 Gmail).
- ¿Por qué la aceleración de hardware no funciona en mi vista?
- Comportamiento extraño de `drawTextOnPath ()` con aceleración de hardware
- Aceleración de hardware en ListView
- Tamaño de fuente demasiado grande para caber en caché
- Android aceleración de hardware TextureView con lockCanvas ()
- Captura de pantalla programática de una webview con elementos flash
- Accidente con aceleración de hardware de animaciones de transición de fragmentos
- ¿Por qué no puedo obligar a una de mis Vistas a renderizarla en el software?
Esto podría estar relacionado con hardwareAcceleration. Intente apagarlo específicamente. Puedes hacerlo
1) en la etiqueta de aplicación dentro de su manifiesto (que desactivará la aceleración de hardware en toda la aplicación)
android:hardwareAccelerated="false"
O 2) Deshabilitarlo para la vista problemática en el código:
myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
Para obtener más información, y para comprobar si un WebView o una aceleración de hardware de identificador de identificador correcto ver este vínculo
Lo solucioné parcialmente llamando a webView.requestLayout()
en ScrollView.onScrollChanged()
. Ahora está casi bien, pero cuando se desplaza, el WebView
parece un poco fuera de sincronización con otros niños ScrollView
. A veces, el WebView
parece desplazarse ligeramente más lentamente que otras vistas y las alcanza con ellas un momento después.
Tenía el mismo problema que no estaba resuelto por la respuesta aceptada. Al final, resultó estar relacionado con la position:fixed
en el CSS de la página. Sustitución de estos casos con la position:absolute
parece haber hecho el truco.
- Reiniciar el contador después de hacer clic en el botón
- Cómo utilizar getApplicationContext en la clase BroadcastReceiver?