GetContentHeight () no funciona correctamente
Estoy intentando recuperar la altura del contenido de una webview. Contiene una cadena html. El problema es que getContentHeight () devuelve siempre el mismo valor (392), no importa cuánto tiempo sea la cadena html.
- ¿Por qué WebView en el código fuente del SDK amplía MockView?
- Cómo pasar los datos de la vista web a la aplicación nativa de Android
- La vista web de Android no puede convertir el video de youtube incrustado a través de iframe
- Android WebView no carga jQuery
- Función de devolución de llamada Javascript a Android
- Imagen de la vista web de Android: renderizar al centro en lugar de a la esquina superior izquierda
- Obtener el ancho de contenido de Android WebView con desplazamiento vertical después de cargar la página
- Forzar la versión móvil del sitio web para WebView
- El mejor enfoque para pasar datos desde la vista web a la aplicación nativa (Windows, iOS y Android)
- Android Fatal señal 11 (SIGSEGV) en WebViewCoreThre
- LoadData intenta utilizar datos como url en la vista web
- WebView no carga mi HTML la segunda vez?
- WebView muestra un signo de interrogación en un cuadro azul
Este tema me ha vuelto loco. Permítanme hacer una conjetura: Su contenido no se carga desde la web o desde el sistema de archivos en lugar de hacer una llamada a WebView.loadData()
o WebView.loadDataWithBaseUrl()
(donde se especifica null
o una cadena vacía en el último caso ). ¿Derecha?
Si es así, entonces creo que tengo una solución para usted que se inspiró en esta discusión : Asegúrese de utilizar el método WebView.loadDataWithBaseUrl()
y proporcionar un baseUrl
que no es null
, no es una cadena vacía y es diferente para diferentes datos de contenido . De acuerdo con la documentación del SDK, el baseUrl
sólo se utiliza para evaluar las URL relativas dentro de los datos (por ejemplo, las etiquetas <img>
no especifican el nombre de dominio en su atributo src
), por lo que si los datos no hacen referencia a contenido externo, "URLs (no han probado esto).
Parece como si el WebView
está echando un vistazo a la URL y si no cambia todas las llamadas posteriores a loadData...
resultará en la misma altura de la WebView
.
Tuve este problema con getContetHeight () también. Primero en la devolución de llamada de WebViewClient.OnPageFinish () la altura del contenido no estaba ya fijada tan qué lo hice él es solución rought bonita.
Handler h; Runnable scroll_updater = new Runnable() { @Override public void run() { if(Thread.interrupted()) return; if(lyrics.getContentHeight() == 0) h.postDelayed(this, 100); setLyricsScroll(); } };
- Android WebView personalizado no logra encontrar funciones de javascript definidas en HTML cargado
- Creación de una cuadrícula como diseño en Android