Andorid开发中WebView网页加载控件使用
2015-11-16 17:41
483 查看
WebView控件在Android中主要是加载显示网页,可以将其视为一个浏览器。它使用了WebKit渲染引擎加载显示网页,在我们做项目的时候是使用机率非常大的组件之一。当然使用前是要添加网络访问权限。
我们在作用WebView加载网页时,通常是在初始化WebView控件之后,直接使用loadUrl()方法,传入我们要加载的连接地址即可。比如:webView.loadUrl("http://www.sina.com")就直接可以加载出新浪的网页面;当然我们也可以加载本地的文件,把文件放在项目的assets目录下,使用webView.loadUrl("file:///android_asset/xx.html")即可。
用户点击WebView中的页面链接时,一般是由默认的浏览器打开加载目标的URL,当然我们可以在WebView中覆盖这一行为,实现方式就是实现以地WebViewClient()中方法的改写。webVeiw.setWebViewClient(new
WebViewClient());
WebView当然可以与JavaScript交互,前提是要在WebView设置启用JavaScript,方法很简单WebVeiw wv=(WebView)findViewById(R.id.wv);
WebSettings settings=webView.getSettings();
settings.setJavaScriptEnable(true);//调用这个方法,设置为true就可以开户与JavaScript交互了。
很多时候,我们要监听WebView加载网页面的进度,我们应该如何操作呢?实现起来也比较简单,有一个类WebChromeClient主要辅助WebView处理Javascript的对话框、网站图标、网站title、加载进度等。我们只需要在WebChromeClient中实现对应的方法就可以。比如:
webView.setWebChromeClient(new WebChromeClient(){
@OVerride
public void onProgreddChanged(WebView view,int newProgress){//newProgress就是代表加载进度,值在1-100之间
if(newProgress==100){//表示加载完成
//TODO做对应的处理
}else{//加载中
//TODO做相应的处理即可
}
}
});
另外我们还可以设置WebView使用缓存功能。
主要有以下两个方法:
webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);//优先使用缓存
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);//不使用缓存
项目中处理加载网页时如何显示网页对应的标题呢?
mWebView.setWebChromeClient(new WebChromeClient() {
@Override
public void onReceivedTitle(WebView view, String mTitle) {
super.onReceivedTitle(view, mTitle);
//在这里处理标题显示
}
}
我们在作用WebView加载网页时,通常是在初始化WebView控件之后,直接使用loadUrl()方法,传入我们要加载的连接地址即可。比如:webView.loadUrl("http://www.sina.com")就直接可以加载出新浪的网页面;当然我们也可以加载本地的文件,把文件放在项目的assets目录下,使用webView.loadUrl("file:///android_asset/xx.html")即可。
用户点击WebView中的页面链接时,一般是由默认的浏览器打开加载目标的URL,当然我们可以在WebView中覆盖这一行为,实现方式就是实现以地WebViewClient()中方法的改写。webVeiw.setWebViewClient(new
WebViewClient());
WebView当然可以与JavaScript交互,前提是要在WebView设置启用JavaScript,方法很简单WebVeiw wv=(WebView)findViewById(R.id.wv);
WebSettings settings=webView.getSettings();
settings.setJavaScriptEnable(true);//调用这个方法,设置为true就可以开户与JavaScript交互了。
很多时候,我们要监听WebView加载网页面的进度,我们应该如何操作呢?实现起来也比较简单,有一个类WebChromeClient主要辅助WebView处理Javascript的对话框、网站图标、网站title、加载进度等。我们只需要在WebChromeClient中实现对应的方法就可以。比如:
webView.setWebChromeClient(new WebChromeClient(){
@OVerride
public void onProgreddChanged(WebView view,int newProgress){//newProgress就是代表加载进度,值在1-100之间
if(newProgress==100){//表示加载完成
//TODO做对应的处理
}else{//加载中
//TODO做相应的处理即可
}
}
});
另外我们还可以设置WebView使用缓存功能。
主要有以下两个方法:
webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);//优先使用缓存
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);//不使用缓存
项目中处理加载网页时如何显示网页对应的标题呢?
mWebView.setWebChromeClient(new WebChromeClient() {
@Override
public void onReceivedTitle(WebView view, String mTitle) {
super.onReceivedTitle(view, mTitle);
//在这里处理标题显示
}
}
相关文章推荐
- Android api level对照表
- Android Studio的NDK环境配置
- <1>Android HAL 作用
- Android 判断TextView 是否为空
- H5移动端页面一些坑总结1
- 自定义View学习之12/4(仿IOS联系人列表)
- Unity3D Editor 编辑器简易教程
- 怎样写一个与Windows10 IE11兼容的标准BHO?
- 使用javaee开发app服务端(接口)配置
- Android中使用RecyclerView和CardView实现瀑布流效果(StaggeredGrid)
- 实例:SD卡浏览器
- new一个Object对象占用多少内存?
- android ViewPager制作广告栏
- Android实现2D翻转动画
- Android Studio 常用快捷键
- 在iOS中使用ZBar扫描二维码
- Monkey测试
- 文件系统中的保留空间
- 自定义Dialog
- Android so 文件进阶<二> 从dlsym()源码看android 动态链接过程