private void initVar() {
webView = (WebView) findViewById(R.id.aw_wb_webview);
//使其能够用javascript
webView.getSettings().setJavaScriptEnabled(true);
//是否保存表单数据
webView.getSettings().setSaveFormData(false);
//编码格式
webView.getSettings().setDefaultTextEncodingName("UTF-8");
//支持缩放
webView.getSettings().setSupportZoom(true);
//取消滚动条
webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
//触摸焦点起作用
webView.requestFocus();
webView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v,MotionEvent event) {
switch(event.getAction()) {
case MotionEvent.ACITON_UP:
break;
case MotionEvent.ACTION_MOVE:
//滑动到顶端才让swiperefreshlayout有效
if(webView.getScrollY() == 0) {
swipe.setEnabled(true)}
else{
swipe.setEnabled(false)}
break;
case MotionEvent.ACTION_CANCEL:
swipe.setEnabled(false):
break;
}
default:
break;
}
return false;
}
});
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
//设置进度条
webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
if (newProgress == 100) {
//隐藏进度条
swipe.setRefreshing(false);
} else {
if (!swipe.isRefreshing())
swipe.setRefreshing(true);
}
super.onProgressChanged(view, newProgress);
}
});
swipe = (SwipeRefreshLayout) findViewById(R.id.aw_swipe);
swipe.setColorSchemeResources(android.R.color.holo_purple,
android.R.color.holo_blue_bright, android.R.color.holo_orange_light,
android.R.color.holo_red_light);
swipe.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
webView.reload();
}
});
//放回上一级的网页
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
webView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
private WebView webView;
private CityAnBean cityAnBean;
private String htmlStr = null;
private SwipeRefreshLayout swipe;
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case 0x14:
//这个是我从服务器获取的json数据解析出来的字符串
CityAnBean cityAnBean = (CityAnBean) msg.obj;
String htmlStr = cityAnBean.getContent().toString();
//替换其中images/数据
htmlStr = htmlStr.replaceAll("images/", Constant.URL + "/portals/knowledge/images/");
//直接可以导入string数据 导入格式
webView.loadData(htmlStr, "text/html; charset=UTF-8", null);
break;
default:
break;
}
}
};