为Webview设置缩放

时间:2010-03-24 04:47:22

标签: android

我有一个WebView和2个URL来打开它。我想要做的是,当我为第一个网址设置缩放级别,然后我转到第二个网址时,它也应该具有相同的缩放级别。现在,缩放级别将重置为两者。

谢谢, 法哈

9 个答案:

答案 0 :(得分:41)

这将适用于我认为的这种情况

mWebView.setInitialScale(ZOOM_LEVEL);

例如,ZOOM_LEVEL可以是 25%25% 150%150%

答案 1 :(得分:35)

使用webSettings

webview.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);

请注意,尽管自API级别1以来webSettings可用,但自API级别7以来WebSettings.ZoomDensity可用。适用于所有设备分辨率。

此外,为了在webView上启用缩放,请添加以下代码:

webView.getSettings().setBuiltInZoomControls(true);

答案 2 :(得分:17)

不推荐使用setDefaultZoom。

webview.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);

因此,您可以使用如下所示,

webview.setInitialScale(1);
webview.getSettings().setLoadWithOverviewMode(true); 
webview.getSettings().setUseWideViewPort(true);

这有助于您删除

setDefaultZoom(WebSettings.ZoomDensity.FAR).

答案 3 :(得分:13)

在离开第一页之前,请使用

int scale = 100 * webView.getScale();

然后在加载第二页后,使用

webView.setInitialScale( scale );

答案 4 :(得分:3)

@John给出了正确的想法,但是一个命令就足够了,因为你可以在页面显示之前得到并设置:

private class MyWebViewClient extends WebViewClient {
    public void onPageFinished(WebView view, String url) {
        view.setInitialScale((int)(100*view.getScale()));
    }
}

然后将其设置为WebView的客户端:

webview.setWebViewClient(new MyWebViewClient());

答案 5 :(得分:2)

尝试这件事

int default_zoom_level=100;
Point Scroll=new Point(0,0);
webview1.setInitialScale(default_zoom_level);
    webview1.loadData("url");

执行zoomIn / ZoomOut或Scrolling.Since可能会改变比例,因此计算比例级别并沿X轴和Y轴滚动。

int current_scale_level=(int)webview1.getScale()*100;
Scroll.x=webview1.getScrollX();
Scroll.y=webview1.getScrollY();

then before loading of next webview do this

webview2.setInitialScale(current_scale_level);
    webview2.loadData("url");
webview2.scrollTo(Scroll.x,Scroll.y);

答案 6 :(得分:2)

您可以将缩放设置为0.1f

mWebView.zoomBy(0.1F);

答案 7 :(得分:0)

我发现此博客很有用:

它将帮助您设置初始缩放级别和webview调整大小的搜索更改内容

//设置搜索栏的初始进度         mSeekBar.setProgress(mWebView.getSettings()getTextZoom()/ 25);

app.hello_controller:
    class: AppBundle\Controller\HelloController

<强> http://android--code.blogspot.in/2016/01/android-how-to-change-webview-text-size.html

答案 8 :(得分:0)

可以通过zoomIn()zoomOut()方法以编程方式控制WebView的缩放