您的位置:首页 > 移动开发 > Android开发

Android WebView的使用集锦(支持Html5)

2017-04-05 13:29 357 查看
转载地址:http://blog.csdn.net/gz_jero/article/details/53608701

WebView配置:
WebSettings webSettings = webView.getSettings();

// 支持javascript
webSettings.setJavaScriptEnabled(true);

// 支持使用localStorage(H5页面的支持)
webSettings.setDomStorageEnabled(true);

// 支持数据库
webSettings.setDatabaseEnabled(true);

// 支持缓存
webSettings.setAppCacheEnabled(true);
String appCaceDir = this.getApplicationContext().getDir("cache", Context.MODE_PRIVATE).getPath();
webSettings.setAppCachePath(appCaceDir);

// 设置可以支持缩放
webSettings.setUseWideViewPort(true);

// 扩大比例的缩放
webSettings.setSupportZoom(true);

webSettings.setBuiltInZoomControls(true);

// 隐藏缩放按钮
webSettings.setDisplayZoomControls(false);

// 自适应屏幕
webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
webSettings.setLoadWithOverviewMode(true);

// 隐藏滚动条
webView.setHorizontalScrollBarEnabled(false);
webView.setVerticalScrollBarEnabled(false);

// 进度显示及隐藏
webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
if (newProgress >= 99) {
pv.setVisibility(View.INVISIBLE);
} else {
pv.setVisibility(View.VISIBLE);
}
}
});

// 处理网页内的连接(自身打开)
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}

@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
view.loadUrl(request.getUrl().toString());
return true;
}
});

webView.loadUrl(Cons.Url.ROOT);

// 使用返回键的方式防止网页重定向
webView.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN) {
if (keyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack()) {
webView.goBack();
return true;
}
}
return false;
}
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79

防止横竖屏切换WebView重新初始化:

AndroidManifest.xml中,使用到WebView的Activity中添加:
android:configChanges="orientation|keyboardHidden|screenSize"
1
2
1
2



在Activity中覆盖父类的这个方法:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
}
1
2
3
4
1
2
3
4






0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android webview