web-dev-qa-db-fra.com

Android Webview initial zoom arrière

J'utilise une vue Web dans mon Android, au moment où l'application est lancée, le site Web est beaucoup zoomé, je veux qu'il soit dézoomé pour s'adapter à la largeur de la écran. J'ai actuellement ceci dans mon activité:

super.onCreate(savedInstanceState);
    setContentView(R.layout.shop);
    WebView webview;
    webview = (WebView) findViewById(R.id.webview);
    webview.setWebViewClient(new WebViewClient());
    webview.getSettings().setJavaScriptEnabled(true);
    webview.loadUrl("http://www.example.com");
19
Carla Dessi
webview.getSettings().setLoadWithOverviewMode(true);    

Cela entraînera un zoom arrière de la vue Web au départ.

webview.getSettings().setUseWideViewPort(true);

La vue Web aura une fenêtre d'affichage normale (comme un navigateur de bureau), lorsqu'elle est fausse, la vue Web aura une fenêtre d'affichage limitée à ses propres dimensions.

MODIFIER : Avec l'introduction de "Chrome web view" dans Android KitKat, ce code pourrait ne pas fonctionner.

39
Shakti

Cela fait un zoom arrière pour que le contenu (un SVG dans mon cas) tienne sur l'écran mais ne fasse pas d'espace inutile.

webView.getSettings().setUseWideViewPort(true);
webView.setInitialScale(1);
14
aleb

Essaye ça:

    webView.setInitialScale(50);
    webPlanSettings.setDefaultZoom(WebSettings.ZoomDensity.FAR);
    webPlanSettings.setUseWideViewPort(true);
7
Artyom Kiriliyk
    //This the the enabling of the zoom controls 
    webView.getSettings().setBuiltInZoomControls(true);

    //This will zoom out the WebView
    webView.getSettings().setUseWideViewPort(true);
    webView.getSettings().setLoadWithOverviewMode(true);
    webView.setInitialScale(1);
4
codebyjames

utilisez la classe webSettings pour définir le niveau de zoom ...

webview.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);
2
Mr Brohi

Pour Kit Kat et les appareils ultérieurs, vous devez définir la balise META de la fenêtre d'affichage dans les en-têtes de la page HTML chargée par votre WebView afin d'éviter le comportement de zoom avant par défaut.

<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
1
Matt Bonness