在xml中声明一个WebView
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
在activity中声明并获取
WebView webView = (WebView) findViewById(R.id.webView)
控制WebView 在当前页面中载入网页,而不是调用系统已安装的浏览器
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
设置浏览器支持javascipt脚本
WebSettings settings = webView.getSettings()
settings.setJavaScriptEnabled(true)
为浏览器设置缓存支持
settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK)
在标题栏上添加进度条
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.activity_main);
init();
setProgressBarIndeterminateVisibility(true);
}
webView.setWebChromeClient(new WebChromeClient(){
@Override
public void onProgressChanged(WebView view, int newProgress) {
if(newProgress != 100){
setProgressBarIndeterminateVisibility(true);
}else{
setProgressBarIndeterminateVisibility(false);
}
super.onProgressChanged(view, newProgress);
}
});
设置浏览器中按返回键返回上一页,而不是退出
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK){
if(webView.canGoBack()){
webView.goBack();
}else{
System.exit(0);
}
}
return true;
}