10.1 WebView的用法
1、在layout中进行控件声明:
<WebView
android:id="@+id/web_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
2、在activity中获取到WebView实例,然后调用WebView的getSettings()方法,可以去设置一些浏览器的属性;这里只是调用了setJavaScriptEnabled()方法来让WebView支持JavaScript脚本。
webView.getSettings().setJavaScriptEnabled(true);
3、调用WebView的setWebViewClient()方法,传入WebViewClient的匿名内部类作为参数,然后重写了shouldOverrideUrlLoading()方法。这就表明当需要从一个网页跳转到另一个网页时,我们希望目标网页仍然在当前WebView中显示,而不是打开系统浏览器。
webView.setWebViewClient(new WebViewClient(){
@Override //重写方法:表明当需要从一个网页跳转到另一个网页时,
//我们希望目标网页仍然爱当前WebView中显示,而不是打开系统的浏览器
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url); //根据传入的参数再去加载新的网页
return true;
}
});
4、调用WebView的loadUrl()方法,并将网址传入,即可展示相应网页的内容。
webView.loadUrl("http://www.baidu.com");
5、注意:由于使用到了网络功能,而访问网络是需要声明权限的,在androidManifest中加入权限声明:
<uses-permissionandroid:name=”android.permission.INTERNET”/>
代码示例:
webView = (WebView) findViewById(R.id.web_view);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient(){
@Override //重写方法:表明当需要从一个网页跳转到另一个网页时,
//我们希望目标网页仍然爱当前WebView中显示,而不是打开系统的浏览器
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
webView.loadUrl("http://www.baidu.com");