gpt4 book ai didi

android - WebView:如何跨 session 保留用户的缩放设置?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:01:13 29 4
gpt4 key购买 nike

我的应用使用 WebView,用户有时会调整缩放级别以使文本变大。但是,当 Activity 关闭并启动另一个 Activity 时,缩放级别设置会丢失。

我看不到如何在 WebView 上以编程方式获取和设置缩放级别,任何人都可以建议一种方法吗?

最佳答案

我是来自 Grupo Reforma 的 Jorge,这是我使用 SharedPreferences 的实现..

static final  String PREFS_Zoom = "PREFS_Zoom";

private String zoomlevel;
private int Default_zoomlevel=100;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

mWebView = (WebView) findViewById(R.id.webview);

GetZoom();
mWebView.setInitialScale(Default_zoomlevel);

FrameLayout mContentView = (FrameLayout) getWindow().getDecorView().findViewById(android.R.id.content);
View zoom = mWebView.getZoomControls();
mContentView.addView(zoom, ZOOM_PARAMS);
zoom.setVisibility(View.VISIBLE);

WebSettings webSettings = mWebView.getSettings();
webSettings.setSavePassword(false);
webSettings.setSaveFormData(false);
webSettings.setJavaScriptEnabled(true);
webSettings.setSupportZoom(true);

mWebView.loadUrl("http://www.elnorte.com");
}



private void GetZoom(){
try{
SharedPreferences settings = getSharedPreferences(PREFS_Zoom,0);
zoomlevel = settings.getString("zoom_level","");
if (zoomlevel.length() >0)
Default_zoomlevel = Integer.parseInt(zoomlevel);
else
Default_zoomlevel =100;
}catch(Exception ex){
Log.e("******ZOOM ! ", "Exception GetZoom() ::"+ex.getMessage());
}
}


private void SaveZoom(){
try{
SharedPreferences settings = getSharedPreferences(PREFS_Zoom,0);
SharedPreferences.Editor editor = settings.edit();
Default_zoomlevel = (int) (mWebView.getScale() *100);
editor.putString("zoom_level",""+ Default_zoomlevel);
editor.commit();
}catch(Exception ex){
Log.e("******ZOOM ! ", "Exception SaveZoom() ::"+ex.getMessage());
}
}


public void finish() {
SaveZoom();
super.finish();
}

希望对你有帮助

关于android - WebView:如何跨 session 保留用户的缩放设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2959833/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com