在Android Webview中实现网页的放大缩小

3

你好,我已经使用以下代码来创建内置的缩放控件

   mWebView = (WebView) findViewById(R.id.webView1);
    mWebView.getSettings().setBuiltInZoomControls(true);
    mWebView.getSettings().setSupportZoom(true);

我曾使用以下代码:

    mWebView.setWebViewClient(new MyWebViewClient());
        mWebView.loadUrl(sabNZBurl);
        mWebView.getSettings().setDomStorageEnabled(true);
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.getSettings().setBuiltInZoomControls(true);
        mWebView.getSettings().setSupportZoom(true);
        backwardBtn = (Button) findViewById(R.id.btnBackWard);
        cancelBtn = (Button) findViewById(R.id.btnCancel);
        refreshBtn = (Button) findViewById(R.id.btnRefresh);
        forwardBtn = (Button) findViewById(R.id.btnForward);

        backwardBtn.setOnClickListener(this);
        cancelBtn.setOnClickListener(this);
        refreshBtn.setOnClickListener(this);
        forwardBtn.setOnClickListener(this);

   final class MyWebViewClient extends WebViewClient {
    @Override
    // Show in WebView instead of Browser
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }

    @Override
    public void onLoadResource(WebView view, String url) {
        super.onLoadResource(view, url);

    }

    @Override
    public void onPageFinished(WebView view, String url) {
        super.onPageFinished(view, url);
        PD.dismiss();
        view.getSettings().setBuiltInZoomControls(true);
        view.getSettings().setSupportZoom(true);
    }

}

但是,仍然没有内置的缩放控件。有谁能帮助我解决这个问题?
4个回答

3

试试这个,我得到了答案

WebSettings webSetting = mWebView.getSettings();
            webSetting.setBuiltInZoomControls(true);

3

您的网页中是否有视口(meta)标签用于显示?如果有,并且它包含user-scalable="no",那么这是正常的,HTML本身禁用了缩放。只需编辑标签如下:

<meta name="viewport" content="initial-scale=1.0, user-scalable=yes, width=device-width" />

不好意思,我不知道,但是这个网页并不是我的网站上的。 :( - Siddhpura Amit
这是一个移动网页还是桌面网页? - throrin19
在Webview中加载HTML数据时非常有用。如果需要,考虑使用“maximum-scale”来设置最大缩放比例。 - Hiren Dabhi

2
也许这就是你正在寻找的东西。
settings.setBuiltInZoomControls(true);
settings.setSupportZoom(true);
settings.setUseWideViewPort(true);
settings.setJavaScriptEnabled(true);
settings.setJavaScriptCanOpenWindowsAutomatically(true);

1
尝试这个:-
webview.getSettings().setUseWideViewPort(true);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接