使Webview内容适合屏幕

Nas*_*lmi 2 android zoom webview

我有一个从本地资产文件夹加载网站的webview:

    webView = (WebView) findViewById(R.id.webView);

    //webView.setInitialScale(1);
    //webView.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);
    //webView.getSettings().setLoadWithOverviewMode(true);
    //webView.getSettings().setUseWideViewPort(true);

    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setDomStorageEnabled(true);

    webView.setWebViewClient(new WebViewClient() {

        public void onPageFinished(WebView view, String url) {
            webView.setVisibility(View.VISIBLE);
        }
    });

    if ((Locale.getDefault().getLanguage()).contains("ar"))
        webView.loadUrl("file:///android_asset/Index-ar.html");
    else
        webView.loadUrl("file:///android_asset/Index-en.html");
Run Code Online (Sandbox Code Playgroud)

默认情况下,网页被放大,用户必须滚动,我想要的是将页面宽度调整到webview宽度(全屏).

评论向您展示了我的尝试:

setInitialScale(1) 隐藏页面的所有内容!

setDefaultZoom(WebSettings.ZoomDensity.FAR) 一无所获.

setLoadWithOverviewMode(true)setUseWideViewPort(true)缩小到很多.

有什么建议 ?

小智 5

它的晚了一点,但它可以帮助一些需要它的人.

在网页的head标签中添加以下内容:

<meta name="viewport" content='width=device-width, initial-scale=1.0,text/html,charset=utf-8' >
Run Code Online (Sandbox Code Playgroud)

然后在活动中添加:

WebView webView = (WebView) findViewById(R.id.webView);

webView.setInitialScale(1);

webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setLoadWithOverviewMode(true);
Run Code Online (Sandbox Code Playgroud)

如果你想支持缩放按钮,可以添加 -

webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setSupportZoom(true);
Run Code Online (Sandbox Code Playgroud)