我们在看有些应用在引入h5的时候经常会有一个进度条在转,显示加载的意思,那么这个东西其实一般是我们android端做的事(不要把所有的事都推给h5~~~),其实实现起来很简单,
ok 废话不多说,上代码吧
代码语言:javascript复制wv.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
DialogUtils.showUpdateDialog(MainActivity.this, "加载中", "请稍后。。。");
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
DialogUtils.hideDialog();
}
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
super.onReceivedError(view, request, error);
Toast.makeText(MainActivity.this, "网页加载错误,请稍后重试", Toast.LENGTH_SHORT).show();
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return true;
}
}
其中的onPageStarted 和 onPageFinished和onReceivedError是我们这次要用到的方法,可以直接看方法名就能知道什么意思了。
其中onPageStarted表示的是当我们加载开始时我们要做什么操作,很简单这个时候你就定义一个dialog来显示加载状态就好了 onPageFinished表示的是当我们加载完成后需要做什么操作,一般我们就是把这个加载dialog去掉就行了。至于这个onReceivedError是当我们加载失败做什么操作,这个时候一般是写一个加载错误的布局,或者fragment进行页面提示,
知道了方法那我们直接就实现就好了
请看效果图
其中dialog是自己写的一个小工具类,很简单自己定义下即可
以上就是本文的全部内容,希望对大家的学习有所帮助。