2012-02-14 11 views
14

Necesito una actividad para cargar un documento HTML en un WebView, pero para que WebView se cambie de tamaño para que se ajuste bien al documento HTML. p.ej. si el documento HTML contiene un único div que tiene un tamaño de 300x200 píxeles, me gustaría que el tamaño de WebView fuera de 300px x 200px para contener exactamente el documento.¿Establecer ancho de una vista web para envolver el contenido HTML?

Verticalmente WebView se comporta de esta manera de forma natural. La altura de un WebView (con wrap_content) está determinada por la altura del documento HTML, pero extrañamente no es el ancho que siempre llena el ancho (a menos que se especifique una dimensión para el ancho). es decir, hasta donde puedo ver el uso de layout_width = "wrap_content" con un WebView no funciona.

¿Hay alguna manera de configurar WebView para redimensionar su ancho de esta manera? No puedo ver uno. Si el contenido HTML es más delgado que el ancho de la pantalla, quiero que WebView sea más delgado.

Si no es así, ¿hay alguna forma de adquirir tamaños de elemento absolutos después de la representación en el modelo de documento HTML, que luego puedo utilizar para cambiar el tamaño del ancho de WebView?

Para demostrarlo, aquí está la declaración para cargar el contenido estático en la vista Web:

browser.loadDataWithBaseURL("/", "Hello!", "text/html", "utf-8", null); 

Y aquí es la simple disposición

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
    <WebView 
     android:id="@+id/webview" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:visibility="visible" 
     /> 
</LinearLayout> 

yo esperaría que esto para mostrar una vista web a la parte superior izquierda se extiende en parte a través del ancho, pero en su lugar se extiende a lo largo de todo el ancho de la pantalla (a pesar del contenido wrap_content, y el contenido es más pequeño que el ancho)

enter image description here

+0

Trate de jugar con el ancho de los principales elementos HTML, por ejemplo su texto va aquí .. –

+0

vista web no lo hace parece ser compatible con wrap_content para el ancho – user123321

Respuesta

-1

Creo que puede usar la función android: layout_marginRight = 200px de WebView en su diseño xml.

+0

al agregar un margen no resuelve la pregunta de OP. Y no use píxeles en los diseños. – Corbella

Cuestiones relacionadas