Android:WebView显示网页
2016-09-26 23:01
555 查看
WebView
通过Intent调用系统浏览器
Uri uri = Uri.parse(url);//url链接地址
Intent intent = new Intent(Intent.ACTION_VIEW,uri);
startActivity(intent);
如何使用WebView:
1.将WebView加入到你的应用
布局中加入<WebView>元素
2.使用WebView加载页面
要在WebView加载页面,使用loadUrl()函数
i:web资源:webView.loadUrl("http://www.baidu.com");
ii:本地文件使用: webView.loadUrl("file:///android_asset/xxxx.html");本地文件存放在:assets文件中
--使页面获得焦点: webView.requestFocus(); /防止失去响应
3.获取网络访问权限:
自己写浏览器就要获取INTERNET权限:
<uses-permission android:name="android.permission.INTERNET">
4、处理页面导航
当用户点击一个WebView中的页面的链接时,通常,是由默认的浏览器打开并加载目标URL的。你可以在WebView
中覆盖这一行为,那么链接就会在WebView中打开。
webView.setWebViewClient(new WebViewClient());
5、在WebView中使用Javascript
通过WeibView中带有的WebSettings来启动Javascript:getSettings()来获取WebSettings的值,然后通过setJavaScriptEnabled()来启用Javascript
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
6、当WebView覆盖了Url的加载,会自动保存历史记录,返回上一页面
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO 自动生成的方法存根
Toast.makeText(this, "当前的页面是"+url, Toast.LENGTH_SHORT).show();
if(keyCode==KeyEvent.KEYCODE_BACK){
if(webView.canGoBack()){
webView.goBack();//返回上一页面
return true;
}else{
System.exit(0);//退出程序
}
}
return super.onKeyDown(keyCode, event);
}
7、制作进度条
//设置WebView的加载进度条的对话框
webView.setWebChromeClient(new WebChromeClient(){
@Overr
dbff
ide
public void onProgressChanged(WebView view, int newProgress) {
// newProgress是1-100之间的整数
if(newProgress==100){
//网页加载完成
closeDialog();
}else{
//网页正在加载
openDialog(newProgress);
}
super.onProgressChanged(view, newProgress);
}
private void openDialog(int newProgress) {
// TODO 自动生成的方法存根
if(dialog==null){
dialog = new ProgressDialog(WebView1Activity.this);
dialog.setTitle("正在加载中");
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
dialog.setProgress(newProgress);
dialog.show();
}else{
dialog.setProgress(newProgress);
}
}
private void closeDialog() {
// TODO 自动生成的方法存根
if(dialog!=null&&dialog.isShowing()){
dialog.dismiss();
dialog=null;
}
}
});
8、WebView缓存的运用
优先使用缓存:
webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
不使用缓存:
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
通过Intent调用系统浏览器
Uri uri = Uri.parse(url);//url链接地址
Intent intent = new Intent(Intent.ACTION_VIEW,uri);
startActivity(intent);
如何使用WebView:
1.将WebView加入到你的应用
布局中加入<WebView>元素
2.使用WebView加载页面
要在WebView加载页面,使用loadUrl()函数
i:web资源:webView.loadUrl("http://www.baidu.com");
ii:本地文件使用: webView.loadUrl("file:///android_asset/xxxx.html");本地文件存放在:assets文件中
--使页面获得焦点: webView.requestFocus(); /防止失去响应
3.获取网络访问权限:
自己写浏览器就要获取INTERNET权限:
<uses-permission android:name="android.permission.INTERNET">
4、处理页面导航
当用户点击一个WebView中的页面的链接时,通常,是由默认的浏览器打开并加载目标URL的。你可以在WebView
中覆盖这一行为,那么链接就会在WebView中打开。
webView.setWebViewClient(new WebViewClient());
5、在WebView中使用Javascript
通过WeibView中带有的WebSettings来启动Javascript:getSettings()来获取WebSettings的值,然后通过setJavaScriptEnabled()来启用Javascript
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
6、当WebView覆盖了Url的加载,会自动保存历史记录,返回上一页面
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO 自动生成的方法存根
Toast.makeText(this, "当前的页面是"+url, Toast.LENGTH_SHORT).show();
if(keyCode==KeyEvent.KEYCODE_BACK){
if(webView.canGoBack()){
webView.goBack();//返回上一页面
return true;
}else{
System.exit(0);//退出程序
}
}
return super.onKeyDown(keyCode, event);
}
7、制作进度条
//设置WebView的加载进度条的对话框
webView.setWebChromeClient(new WebChromeClient(){
@Overr
dbff
ide
public void onProgressChanged(WebView view, int newProgress) {
// newProgress是1-100之间的整数
if(newProgress==100){
//网页加载完成
closeDialog();
}else{
//网页正在加载
openDialog(newProgress);
}
super.onProgressChanged(view, newProgress);
}
private void openDialog(int newProgress) {
// TODO 自动生成的方法存根
if(dialog==null){
dialog = new ProgressDialog(WebView1Activity.this);
dialog.setTitle("正在加载中");
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
dialog.setProgress(newProgress);
dialog.show();
}else{
dialog.setProgress(newProgress);
}
}
private void closeDialog() {
// TODO 自动生成的方法存根
if(dialog!=null&&dialog.isShowing()){
dialog.dismiss();
dialog=null;
}
}
});
8、WebView缓存的运用
优先使用缓存:
webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
不使用缓存:
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
相关文章推荐
- android webView加载页面时显示出全部网页内容
- Android的WebView控件载入网页显示速度慢的究极解决方案
- Android的WebView控件载入网页显示速度慢的究极解决方案
- android webView加载页面时显示出全部网页内容
- Android的WebView控件载入网页显示速度慢的究极解决方案
- Android的WebView控件载入网页显示速度慢的究极解决方案
- Android--当webview加载网页的时候在标题栏上显示加载进度
- Android使用WebView显示网页(图片缩放)
- Android的网页显示控件————浅谈WebView
- ANDROID的WEBVIEW控件载入网页显示速度慢的究极解决方案
- Android--当webview加载网页的时候在标题栏上显示加载进度
- Android的WebView控件载入网页显示速度慢的究极解决方案
- Android的WebView控件载入网页显示速度慢的究极解决方案
- android 通过WebView显示网页
- Android--当webview加载网页的时候在标题栏上显示加载进度
- Android的WebView控件载入网页显示速度慢的究极解决方案
- [Android分享] ANDROID的WEBVIEW控件载入网页显示速度慢的究极解决方案
- Android开发_WebView组件使用详解_LoadUrl直接显示网页内容
- Android的WebView控件载入网页显示速度慢的究极解决方案
- android中WebView加载网页居中显示