2011-08-24 9 views
8

Tengo una vista web en mi aplicación donde muestro el contenido html usando el método loadData(). El problema es que el contenido HTML se muestra junto con un espacio extra en la parte inferior, no pude entender por qué está llegando el espacio en blanco. Este problema ocurre solo en el dispositivo Motorola Milestone (Android 2.1). Por favor, alguien ayude a resolver este problema.Problema con espacio adicional en la parte inferior de la vista web de Android

enter image description here

Gracias de antemano, Rajapandian

Respuesta

13

Por fin he encontrado la respuesta a mi propia pregunta, tengo que añadir la etiqueta meta junto con mi contenido HTML antes de añadir a la vista Web. Por favor, encontrar el código de abajo

String s="<head><meta name='viewport' content='target-densityDpi=device-dpi'/></head>";    
webview.loadDataWithBaseURL(null,s+htmlContent,"text/html" , "utf-8",null);  

La propiedad ventana gráfica dentro de la etiqueta meta de hacer el truco, por favor consulte el siguiente enlace para más detalles.

Using Viewport in Android Webview

Saludos, Rajapandian

+0

buen uso muy completo .. – NagarjunaReddy

1

mejor uso de la propiedad ancho también .Debido a algunos dispositivos que consideran.

por ejemplo:

String s="<head><meta name=viewport content=target-densitydpi=medium-dpi, width=device-width/></head>";    
2

Esta entrada de blog resolvió mi problema. Creo que va a ayudar. http://capdroid.wordpress.com/2014/08/07/resizing-webview-to-match-the-content-size/

private void setupWebView() { 
    webView.getSettings().setJavaScriptEnabled(true); 
    webView.setWebViewClient(new WebViewClient() { 
     @Override 
     public void onPageFinished(WebView view, String url) { 
      webView.loadUrl("javascript:MyApp.resize(document.body.getBoundingClientRect().height)"); 
      super.onPageFinished(view, url); 
     } 
    }); 
    webView.addJavascriptInterface(this, "MyApp"); 
} 

@JavascriptInterface 
public void resize(final float height) { 
    MyActivity.this.runOnUiThread(new Runnable() { 
     @Override 
     public void run() { 
      webView.setLayoutParams(new LinearLayout.LayoutParams(getResources().getDisplayMetrics().widthPixels, (int) (height * getResources().getDisplayMetrics().density))); 
     } 
    }); 
} 
+0

En realidad, esto resuelve el problema de espacio en blanco en 4.4+, pero también posicionará a la vista web arriba así que hay que colocarla donde debe ir en esa pantalla – sandalone

Cuestiones relacionadas