Ответ 1
это применимо в этом сценарии, я верю
mWebView.setInitialScale(ZOOM_LEVEL);
где ZOOM_LEVEL, например, может быть 25 для 25% 150 на 150%
У меня есть WebView и 2 URL-адреса, чтобы открыть его. Я хочу сделать это, когда я установил уровень масштабирования для 1-го URL-адреса, а затем я перейду на второй URL-адрес, он также должен иметь тот же уровень масштабирования. Прямо сейчас, уровень масштабирования сбрасывается для обоих.
Спасибо, Фара
это применимо в этом сценарии, я верю
mWebView.setInitialScale(ZOOM_LEVEL);
где ZOOM_LEVEL, например, может быть 25 для 25% 150 на 150%
используйте webSettings класс
webview.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);
Обратите внимание, что хотя webSettings доступен с уровня API 1, WebSettings.ZoomDensity доступен с API уровня 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 );
@John дал правильную идею, но одной команды достаточно, так как вы можете получить и установить до появления страницы:
private class MyWebViewClient extends WebViewClient {
public void onPageFinished(WebView view, String url) {
view.setInitialScale((int)(100*view.getScale()));
}
}
то просто установите это как ваш клиент WebView:
webview.setWebViewClient(new MyWebViewClient());
Вы можете установить масштабирование на 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");
После выполнения zoomIn/ZoomOut или Scrolling.Since Scale может измениться так, чтобы вычислять масштаб и прокручивать вдоль оси 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);
Я нашел этот блог полезным:
Это поможет вам установить начальный уровень масштабирования и на контент изменения смены веб-изображений.
//Задайте начальный ход строки поиска 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