如何控制放大web视图 [英] How to control zoom in webView

查看:86
本文介绍了如何控制放大web视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个code:

  [...]
{
    web视图=(web视图)findViewById(R.id.webView1);
    webView.setInitialScale(的getScale(Double.parseDouble(pubPages)));
    webView.getSettings()setJavaScriptEnabled(真)。
    。webView.getSettings()setSupportZoom(真正的);
    。webView.getSettings()setBuiltInZoomControls(真正的);
    webView.getSettings()setDefaultZoom(WebSettings.ZoomDensity.FAR)。
    。webView.getSettings()setLoadWithOverviewMode(真正的);
    。webView.getSettings()setUseWideViewPort(真正的);
    webView.setPadding(0,0,0,0);

    webView.setWebChromeClient(新WebChromeClient(){
        公共无效onProgressChanged(web视图来看,INT进度)
        {
            activity.setTitle(载入中...);
            activity.setProgress(进度* 100);

            如果(进度== 100)
                activity.setTitle(R.string.app_name);
        }
    });

    webView.setWebViewClient(新WebViewClient(){
        @覆盖
        公共无效onReceivedError(web视图来看,INT错误code,字符串描述,字符串failingUrl)
        {
            //处理错误
        }

        @覆盖
        公共布尔shouldOverrideUrlLoading(web视图查看,字符串URL)
        {
            view.loadUrl(URL);
            返回true;
        }
    });

    webView.loadUrl(HTTP:// urltoshow);
}

私人诠释中的getScale(双NUMPAGES){
    DisplayMetrics DM =新DisplayMetrics();
    。getWindowManager()getDefaultDisplay()getMetrics(DM)。
    INT screenHeight = dm.heightPixels;

    双VAL =(新双(screenHeight-40)/(新双(1024)));
    VAL = VAL * 100D;
    返回val.intValue();
}
 

和它工作正常,但我希望禁止变焦低于其自然高度的一面。

放大没错,缩小肯定的,但在一定程度上。

如何做到这一点?

解决方案

  webview.getSettings()setBuiltInZoomControls(真)。
 

I have this code:

[...]
{
    webView = (WebView) findViewById(R.id.webView1);
    webView.setInitialScale(getScale(Double.parseDouble(pubPages)));
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setSupportZoom(true);
    webView.getSettings().setBuiltInZoomControls(true);
    webView.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);
    webView.getSettings().setLoadWithOverviewMode(true);
    webView.getSettings().setUseWideViewPort(true);
    webView.setPadding(0, 0, 0, 0);

    webView.setWebChromeClient(new WebChromeClient() {
        public void onProgressChanged(WebView view, int progress)
        {
            activity.setTitle("Loading...");
            activity.setProgress(progress * 100);

            if(progress == 100)
                activity.setTitle(R.string.app_name);
        }
    });

    webView.setWebViewClient(new WebViewClient() {
        @Override
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
        {
            // Handle the error
        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url)
        {
            view.loadUrl(url);
            return true;
        }
    });

    webView.loadUrl("http://urltoshow");
}

private int getScale(double numPages){
    DisplayMetrics dm = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(dm);
    int screenHeight = dm.heightPixels;

    Double val = (new Double(screenHeight-40)/(new Double(1024)));    
    val = val * 100d;
    return val.intValue();
}

And it works fine, but I want to disallow zooming the side below its natural height.

Zoom in yes, zoom out yes but up to a point.

How to do this?

解决方案

 webview.getSettings().setBuiltInZoomControls(true);

这篇关于如何控制放大web视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆