我有一个WebView和2个网址来打开它。我想要做的是,当我为第一个网址设置缩放级别,然后我转到第二个网址时,它也应该具有相同的缩放级别。现在,这两个缩放级别都会重置。设置为Webview的缩放
感谢, 法哈
我有一个WebView和2个网址来打开它。我想要做的是,当我为第一个网址设置缩放级别,然后我转到第二个网址时,它也应该具有相同的缩放级别。现在,这两个缩放级别都会重置。设置为Webview的缩放
感谢, 法哈
使用webSettings类
webview.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);
注意的是,虽然webSettings是因为API等级1,可WebSettings.ZoomDensity是因为API级别7.非常适用于所有设备分辨率可用。
此外,为了对web视图启用缩放,添加以下代码:
webView.getSettings().setBuiltInZoomControls(true);
这将是适用于这种情况下,我相信
mWebView.setInitialScale(ZOOM_LEVEL);
其中ZOOM_LEVEL例如可以 25 for 25% 150 for 150%
正确的答案为webview.getSettings()。setDefaultZoom(WebSettings.ZoomDensity.FAR);已弃用 – 2017-03-09 07:21:07
在离开第一页之前,请使用
int scale = 100 * webView.getScale();
然后加载第二页后,使用
webView.setInitialScale(scale);
getScale();现在已被弃用。 – definera 2015-04-23 14:07:53
@约翰给了正确的想法,但一个命令就足够了,因为你可以得到和页面之前设置显示:
private class MyWebViewClient extends WebViewClient {
public void onPageFinished(WebView view, String url) {
view.setInitialScale((int)(100*view.getScale()));
}
}
然后就设置此为您的WebView客户端:
webview.setWebViewClient(new MyWebViewClient());
试试这个THI纳克
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);
不完全是我想要的,但给了我想法如何解决我的问题。谢谢。 – 2017-03-06 10:17:28
setDefaultZoom is deprecated。
webview.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);
因此,不是,你可以使用如下,
webview.setInitialScale(1);
webview.getSettings().setLoadWithOverviewMode(true);
webview.getSettings().setUseWideViewPort(true);
这能帮你去除
setDefaultZoom(WebSettings.ZoomDensity.FAR).
这应该是最新的接受答案 – 2016-08-18 20:33:53
您可以将变焦设置为0.1F
mWebView。 zoomBy(0。1F);
这是Lollipop的最佳答案 – superuser 2016-10-25 08:21:06
谢谢,希望对您有所帮助 – 2016-11-06 09:07:52
我发现这个博客有帮助:
它将帮助您设置的初始缩放级别和寻求变化的WebView内容调整大小
//设置的初步进展搜索栏 mSeekBar.setProgress(mWebView 。.getSettings()getTextZoom()/ 25);
// Set a change listener for seek bar
mSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
/*
public abstract void setTextZoom (int textZoom)
Sets the text zoom of the page in percent. The default is 100.
Parameters
textZoom : the text zoom in percent
*/
// Zoom the web page text
// We will allow text zooming 25% to 300%
mWebView.getSettings().setTextZoom(i*25);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
http://android--code.blogspot.in/2016/01/android-how-to-change-webview-text-size.html
看来这是现在已经过时。 – 2014-09-15 16:08:00
它是不赞成使用的财产..看到我更新的答案来结束它 – 2015-05-28 11:10:11