我有一个 WebView 和两个要在其中打开的 URL。我的目标是,在我为第一个 URL 设置缩放级别后,当我转到第二个 URL 时,它也应该具有相同的缩放级别。但现在,两个 URL 的缩放级别都会重置。
谢谢, Farha
我有一个 WebView 和两个要在其中打开的 URL。我的目标是,在我为第一个 URL 设置缩放级别后,当我转到第二个 URL 时,它也应该具有相同的缩放级别。但现在,两个 URL 的缩放级别都会重置。
谢谢, Farha
我相信这将适用于这种情况
mWebView.setInitialScale(ZOOM_LEVEL);
其中 ZOOM_LEVEL 可以是例如 25 表示 25%,或者 150 表示 150%。
使用WebSettings类。
webview.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);
请注意,尽管自 API Level 1 起就提供了 WebSettings,但是 WebSettings.ZoomDensity 只有在 API Level 7 及以上版本可用。适用于所有设备分辨率。
此外,为了在 webView 上启用缩放,请添加以下代码:
webView.getSettings().setBuiltInZoomControls(true);
setDefaultZoom已被弃用。
webview.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);
因此,您可以像下面这样使用:
webview.setInitialScale(1);
webview.getSettings().setLoadWithOverviewMode(true);
webview.getSettings().setUseWideViewPort(true);
这将帮助您移除
setDefaultZoom(WebSettings.ZoomDensity.FAR).
在离开第一页之前,请使用
int scale = 100 * webView.getScale();
然后在加载第二个页面之后,使用
webView.setInitialScale( scale );
getScale()
已被弃用,我使用了 getScaleY()
并实现了相同的效果。 - Smitty-Werben-Jager-Manjensonprivate class MyWebViewClient extends WebViewClient {
public void onPageFinished(WebView view, String url) {
view.setInitialScale((int)(100*view.getScale()));
}
}
然后将此设置为您的 WebView 的客户端:
webview.setWebViewClient(new MyWebViewClient());
.getScale()
已经过时了:view.setInitialScale((int)(100*view.getScaleY()));
- Smitty-Werben-Jager-Manjenson您可以将缩放设置为0.1f
mWebView.zoomBy(0.1f);
尝试这个东西
int default_zoom_level=100;
Point Scroll=new Point(0,0);
webview1.setInitialScale(default_zoom_level);
webview1.loadData("url");
在进行缩放或滚动后,由于比例尺可能会发生变化,因此需要计算比例尺级别并沿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);
// 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
WebView的缩放可以通过zoomIn()
和zoomOut()
方法进行程序控制