WebView在XML中写法
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
常用方法:
loadUrl(String url) 用于加载指定URL对应的网页
loadData(String data,String mimeType,String encoding) 用于将指定的字符串数据加载进浏览器,data为数据;mimeType为要显示内容的MIME类型,如为NULL默认text/html;encoding为编码方式(中文会出现乱码)
loadDataWithBaseURL(String baseURL,String data,String mimeType,String encoding,String historyURL) 基于URL加载指定数据(中文无乱码)
capturePicture() 用于创建当前屏幕快照
goBack() 执行后退操作,相当于浏览器上后退按钮
goForward() 执行前进操作,相当于浏览器上前进按钮
stopLoading() 停止加载
reload() 重新加载
1.加载网页 loadUrl() 即加载html文件
WebView webView=findViewById(R.id.webView);
//支持放大缩小
WebSettings settings=webView.getSettings();
settings.setSupportZoom(true);
settings.setBuiltInZoomControls(true);
webView.loadUrl("http://www.baidu.com");
上述代码运行时,需要访问网络资源,因此还需要在清单文件申请网络权限。
网页URL: http://~~
本地HTML文件URL: file://~~
2.执行HTML代码 loadData() loadDataWithBaseURL()
在Android程序中,有一些文件提示信息使用HTML代码实现会比较简单快捷,而且界面也会更加美观。WebView类提供了 loadData() 和 loadDataWithBaseURL()方法加载HTML代码。当使用loadData() 方法来加载带中文的HTML代码时会产生乱码,但是使用loadDataWithBaseURL()方法就不会出现这种情况。
loadDataWithBaseURL(String baseURL,String data,String mimeType,String encoding,String historyURL) 参数解析
baseURL : 用于指定当前页使用的基本URL。如果为null,则使用默认的 about:blank ,即空白页。
data : 用于指定要显示的字符串数据。
mimeType : 用于指定要显示内容的MIME类型。如果为null,则默认使用 text/html 。
encoding : 用于指定数据的编码方式。如“ utf - 8 ”。
historyUrl : 用于指定当前页的历史URL,也就是进入该页面前现实页的URL。如果为null,默认 about:bank ,即默认页。
WebView webView=findViewById(R.id.webView);
//支持放大缩小
WebSettings webSettings=webView.getSettings();
webSettings.setBuiltInZoomControls(true);
webSettings.setSupportZoom(true);
StringBuilder builder=new StringBuilder();
builder.append("<div>Text<div>");
builder.append("<ul>");
builder.append("<li>t1<li>");
builder.append("<li>t2<li>");
builder.append("</ul>");
webView.loadDataWithBaseURL(null,builder.toString(),"text/html","utf-8",null);
3.设置WebView控件支持JavaScript代码
WebView webView=findViewById(R.id.webView);
WebSettings webSettings= webView.getSettings();
//支持放大缩小
webSettings.setSupportZoom(true);
webSettings.setBuiltInZoomControls(true);
//支持JavaScript
webSettings.setJavaScriptEnabled(true);
//支持弹出提示框-重写WebChromeClient中onJsAlert方法
webView.setWebChromeClient(new WebChromeClient());
webView.loadUrl("http://www.baidu.com");
上述代码运行时,需要访问网络资源,因此还需要在清单文件申请网络权限。
网页URL: http://~~
本地HTML文件URL: file://~~