41 votes

Supprimer les espaces blancs indésirables dans WebView Android

J'ai commencé à développer une application à l'aide de WebView. En fait, je charge une image avec Webview (j'aime utiliser les commandes de zoom intégrées de la classe). Je peux charger avec succès l'image mais je peux voir des espaces blancs irritants. Je ne trouve pas comment l'enlever. Mes images sont de taille 750 * 1000. J'ai joint mon code ci-dessous.

webview.xml

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

ImageViewer.java

 package com.android.test;

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;

public class ImageViewer extends Activity {

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.webview);

        String loadUrl = "file:///android_res/drawable/splash_001.jpg";

        WebView image = (WebView) findViewById(R.id.webView);
        image.clearView();
        image.clearCache(true);
        image.getSettings().setBuiltInZoomControls(true);
        image.getSettings().setSupportZoom(true);
        image.getSettings().setLoadWithOverviewMode(true);
        image.getSettings().setUseWideViewPort(true);
        image.loadUrl(loadUrl);
    }

}

67voto

Sandy Points 2453

Par défaut, la vue Web a une marge/un rembourrage dans le corps. Si vous souhaitez supprimer ce remplissage/marge, remplacez la balise body et ajoutez une marge comme :

 <body style="margin: 0; padding: 0">

21voto

Ben Points 344

Si l'espace blanc dont vous parlez se trouve sur le côté droit, vous pouvez l'ajouter à la vue Web.

mWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);

Cela devrait faire disparaître l'espace blanc, à condition qu'il soit sur le côté droit où la barre de défilement serait.

20voto

Blake Loizides Points 965

Par défaut, les pages Web HTML ont un rembourrage et une marge de 10 pixels ; Vous devez définir dans votre section head ou dans votre fichier css :

 <style type="text/css">
html, body {
width:100%;
height: 100%;
margin: 0px;
padding: 0px;
}
</style>

Cela a fait l'affaire pour moi.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X