25

我在我的android应用程序中使用webview,在应用程序启动的那一刻,网站被放大了很多,我希望它被缩小以适应屏幕的宽度。我目前在我的活动中有这个:

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");
4

6 回答 6

48
webview.getSettings().setLoadWithOverviewMode(true);    

这将导致 webview 最初被缩小。

webview.getSettings().setUseWideViewPort(true);

Webview 将有一个普通的视口(如桌面浏览器),当为 false 时,webview 将有一个视口限制为它自己的尺寸。

编辑:随着 Android KitKat 中“Chrome 网络视图”的引入,此代码可能无法正常工作。

于 2012-11-24T16:43:41.933 回答
18

这会缩小,以便内容(在我的情况下为 SVG)适合屏幕,但不会产生不必要的空间。

webView.getSettings().setUseWideViewPort(true);
webView.setInitialScale(1);
于 2013-07-24T09:37:56.167 回答
9

尝试这个:

    webView.setInitialScale(50);
    webPlanSettings.setDefaultZoom(WebSettings.ZoomDensity.FAR);
    webPlanSettings.setUseWideViewPort(true);
于 2012-11-24T16:45:00.807 回答
7
    //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);
于 2016-01-24T09:56:12.573 回答
2

使用webSettings类来设置缩放级别...

webview.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);
于 2012-11-24T16:42:33.167 回答
2

对于 Kit Kat 和更高版本的设备,您需要在 WebView 加载的 HTML 页面的标题中设置视口元标记,以防止默认的放大行为。

<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
于 2015-04-20T22:41:18.473 回答