webView中首先修改添加

Mainfest文件中的

<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="16" />
<uses-permission android:name="android.permission.INTERNET"/>

package com.imooc.android_webview;import android.app.Activity;import android.app.ActionBar;import android.app.Fragment;import android.app.ProgressDialog;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.util.Log;import android.view.KeyEvent;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.webkit.WebChromeClient;import android.webkit.WebSettings;import android.webkit.WebView;import android.webkit.WebViewClient;import android.widget.Toast;import android.os.Build;public class MainActivity extends Activity {    private String url = "http://www.baidu.com/";    private WebView webView;    private ProgressDialog dialog; //定义ProgressDialog    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.web);        // Uri uri = Uri.parse(url); //url为你要链接的地址        // Intent intent =new Intent(Intent.ACTION_VIEW, uri);        // startActivity(intent);        init();    }    private void init() {        // TODO Auto-generated method stub        webView = (WebView) findViewById(R.id.webView);        // WebView加载本地资源        // webView.loadUrl("file:///android_asset/example.html");        // WebView加载web资源        webView.loadUrl(url);        // 覆盖WebView默认通过第三方或者是系统浏览器打开网页的行为,使得网页可以在WebVIew中打开        webView.setWebViewClient(new WebViewClient(){                        @Override            public boolean shouldOverrideUrlLoading(WebView view, String url) {                // TODO Auto-generated method stub                //返回值是true的时候控制网页在WebView中去打开,如果为false调用系统浏览器或第三方浏览器去打开                view.loadUrl(url);                return true;            }            //WebViewClient帮助WebView去处理一些页面控制和请求通知                    });        //启用支持JavaScript        WebSettings settings = webView.getSettings(); settings.setJavaScriptEnabled(true);

//WebView加载页面优先使用缓存加载 settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); webView.setWebChromeClient(new WebChromeClient(){ @Override public void onProgressChanged(WebView view, int newProgress) { // TODO Auto-generated method stub //newProgress 1-100之间的整数 if(newProgress==100) { //网页加载完毕,关闭ProgressDialog closeDialog(); } else { //网页正在加载,打开ProgressDialog openDialog(newProgress); } } private void closeDialog() { // TODO Auto-generated method stub if(dialog!=null&&dialog.isShowing()) { dialog.dismiss(); //取消显示 dialog=null; } } private void openDialog(int newProgress) { // TODO Auto-generated method stub if(dialog==null) { dialog=new ProgressDialog(MainActivity.this);//创建ProgressDialog对象 dialog.setTitle("正在加载"); dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);//设置进度条颜色 dialog.setProgress(newProgress); dialog.show(); } else { dialog.setProgress(newProgress); //让的进度条刷新进度 } } }); } //改写物理按键——返回的逻辑 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub if(keyCode==KeyEvent.KEYCODE_BACK) { //Toast.makeText(this, webView.getUrl(), Toast.LENGTH_SHORT).show(); if(webView.canGoBack()) { webView.goBack();//返回上一页面 return true; } else { System.exit(0);//退出程序 } } return super.onKeyDown(keyCode, event); } }

用的进度条显示加载进度。

如果从

更多相关文章

  1. ListView中使用线程实现无限加载
  2. 利用View.inflate加载xml
  3. Android JNI学习笔记——so文件动态加载
  4. Android类加载器源码分析
  5. Android实现ListView异步加载图片
  6. Android应用开发提高系列(5)——Android动态加载(下)——加载已安装A
  7. Android Eclipse JNI 调用 .so文件加载
  8. Android Activity四种加载方式
  9. 类加载机制系列2——深入理解Android中的类加载器

随机推荐

  1. 0629作业
  2. HTML表格实战:制作商品信息表格
  3. 简述事件委托(事件代理)
  4. 请简述 DOM 事件模型或 DOM 事件机制
  5. HTML表格标签及合并行列使用
  6. 注册表单练习
  7. 前端作业-表单
  8. 第二天 HTML标签与属性
  9. 我们常说的算法时间复杂度和空间复杂度到
  10. 手机商品信息表