一般使用wevview的时候无非就是显示加载网页,下面的一些方法参数比较常用:
webView.setInitialScale(100);//webview默认缩放比例为100,要修改则需设置setInitialScale()参数即可
webView.getSettings().setBuiltInZoomControls(true);//启用缩放功能
webView.invokeZoomPicker();//显示缩放的小工具
webView.getSettings().setJavaScriptEnabled(true);//启用JavaScript功能,功能有限,需要WebViewClient和WebChromeClient来配合
//创建WebViewClient对象指定给webview,使得webview可以开启用户单机的超链接
webView.setWebViewClient(new WebViewClient());
//给webview增加进度条
webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
super.onProgressChanged(view, newProgress);
pb.setProgress(newProgress);
pb.setVisibility(newProgress < 100 ? View.VISIBLE : View.GONE);
}
});
//webView.loadUrl("https://www.jd.com");
@Override
public void onBackPressed() {
//当按下回退键时,如果有上一页就回退,没有就退出程序
if (webView.canGoBack()) {
webView.goBack();
return;
}
super.onBackPressed();
}
public void search(View v) {
keyWord = et_keyText.getText().toString().replaceAll("\\s+", "+");
//将字符串中单一字符或连续空白换成“+”
webView.loadUrl(baseURL + keyWord);
}
@Override
protected void onPause() {
super.onPause();
//获取编辑器对象
SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit();
editor.putString("关键字", keyWord);//存储当前的搜索参数
editor.commit();//一定要存盘
}
@Override
protected void onResume() {
super.onResume();
//获取首选项对象
SharedPreferences myPref = getPreferences(MODE_PRIVATE);
keyWord = myPref.getString("关键字", "heheda");//读取存储的字符串,没有则返回heheda
if (webView.getUrl() == null) {
webView.loadUrl(baseURL + keyWord);
}
}
笔记知识点:
1、webview默认不支持缩放功能、JavaScript。
2、要让webview支持多具备浏览器功能或自定义行为,要搭配android.webkit下的WebSettings、WebViewClient、WebChromeClient类。
3、WebSettings用于控制WebView基本设置(启动网页缩放、javascript等)。调用WebView的getSettings()方法即可获取其WebSettings对象
4、WebViewClient控制WebView本身的行为,可获取用户单机网页中超链接、网页加载的开始结束的等事件的控制权。
5、WebChromeClient的onProgressChanged()会在网页加载进度有异动的时被调用(0~100)。
6、一般程序都是在Activity的onPause()方法中进行存储数据的操作,在onResume()方法中读取先前存储的数据,以恢复Activity的相关状态。
知识点来源于网络,转载注明出处:http://blog.csdn.net/u011771800/article/details/54095054