Android WebView基本设置及监听设置

WebView基本设置

WebView基础设置,实现WebView加载数据

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
WebSettings webSettings = mWebView.getSettings();

// 支持JavaScript,允许WebKit执行JavaScript代码
webSettings.setJavaScriptEnabled(true);

// 设置缓存模式
webSettings.setCacheMode(WebSettings.LOAD_DEFAULT);

// 设置为true表示支持使用JavaScript打开新的窗口
webSettings.setJavaScriptCanOpenWindowsAutomatically(true);

// 网页需要保存一些数据时候,设置以下属性
webSettings.setDomStorageEnabled(true);

// 设置为使用WebView推荐的窗口
webSettings.setUseWideViewPort(true);

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

// 设置是否启用地理位置
webSettings.setGeolocationEnabled(true);

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

// 设置出现缩放工具,缩放功能是否使用
webSettings.setBuiltInZoomControls(false);

// 设置网页渲染优先级
webSettings.setRenderPriority(RenderPriority.HIGH);

// 设置水平滚动条
webview.setHorizontalScrollBarEnabled(false);

// 设置垂直滚动条
webview.setVerticalScrollbarOverlay(true);

// 设置滚动条的样式
webview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);

// 重写WebChromeClient监听网页加载的进度
webview.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
super.onProgressChanged(view, newProgress);
}
});

// 重写WebViewClient可以监听网页的跳转和资源加载等等
webview.setWebViewClient(new WebViewClient());

WebView监听设置

页面加载进度监听

1
2
3
4
5
6
mWebView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
super.onProgressChanged(view, newProgress);
}
});

页面加载完成与加载失败的监听

1
2
3
4
5
6
7
8
9
10
11
12
mWebView..setWebViewClient(new webClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
}

@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
super.onReceivedError(view, errorCode, description, failingUrl);
view.loadUrl("file:///android_asset/default_page/index.html");
}
});

Powered by AppBlog.CN     浙ICP备14037229号

Copyright © 2012 - 2020 APP开发技术博客 All Rights Reserved.

访客数 : | 访问量 :