项目中有些过于复杂的UI,功能,在app端实现起来过于花费时间,且不容易达到想要的效果,这时,我们可以直接加载web(网址)来快速的完成任务;
xml中的写好控件
<WebView
android:id="@+id/ercode_web"
android:layout_width="match_parent"
android:layout_height="match_parent" />
- web的属性配置
//设置webview加载的页面的模式
webView.getSettings().setLoadWithOverviewMode(true);
//加载进来的页面自适应居中
webView.getSettings().setLayoutAlgorithm
(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
//设置水平滚动条
webView.setHorizontalScrollBarEnabled(true);
//设置竖直滚动条
webView.setVerticalScrollBarEnabled(true);
//设置可以调用Js
webView.getSettings().setJavaScriptEnabled(true);
//加载网页
webView.loadUrl("www.baidu.com");
webView.setWebViewClient(new WebViewClient() {
/**
* 重写加载URL(禁止页面内部调用其他浏览器打开连接)
* @param view
* @param url
* @return
*/
public boolean shouldOverrideUrlLoading(WebView view,
String url) {
view.loadUrl(url);// 使用当前WebView处理跳转
return true;// true表示此事件在此处被处理,不需要再广播
}
//开始加载
@Override
public void onPageStarted(WebView view, String url,
Bitmap favicon) {
//启动一个动画
HttpHelp.startProgressDialog(context, "");
}
//加载完成
public void onPageFinished(WebView view, String url) {
HttpHelp.stopProgressDialog();
}
//加载失败
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
//动画结束
HttpHelp.stopProgressDialog();
Toast.makeText(context, "Oh no! " + description,
Toast.LENGTH_SHORT).show();
}
});
- 代码中的注释已经说的比较清楚了,这里就不一一说明了;谢谢