初学Android,WebView

来源:互联网 发布:apache http有什么用 编辑:程序博客网 时间:2024/06/06 09:01
public class MainActivity extends Activity {    private WebView webView;    private ProgressDialog dialog;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.web);        init();    }    private void init(){        webView=(WebView)findViewById(R.id.webView);        String url="http://baidu.com";        webView.loadUrl(url);        //覆盖WebView默认打开行为        webView.setWebViewClient(new WebViewClient(){            @Override            public boolean shouldOverrideUrlLoading(WebView V,String u){                //true 控制在webview中打开                V.loadUrl(u);                return true;            }            //webviewclient 帮助webview去请求页面控制        });        //加载JavaScript        WebSettings webSettings= webView.getSettings();        webSettings.setJavaScriptEnabled(true);        //使用缓存加载        webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);                //用进度条来提示用户等待加载网页        webView.setWebChromeClient(new WebChromeClient(){            @Override            public void onProgressChanged(WebView view,int p){                if(p==100)                {                    //加载完成                    closeDialog();                }                else{                    //正在加载                    openDialog(p);                }            }            private void closeDialog(){                if(dialog!=null&&dialog.isShowing()){                    dialog.dismiss();                    dialog=null;                }            }            private  void openDialog(int p){                if(dialog==null){                    dialog=new ProgressDialog(MainActivity.this);                    dialog.setTitle("正在加载");                    dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);                    dialog.setProgress(p);                    dialog.show();                }                else {                    dialog.setProgress(p);                }            }        });    }// 让界面可以返回    @Override    public boolean onKeyDown(int keyCode, KeyEvent event) {        if (keyCode==KeyEvent.KEYCODE_BACK)        {            if(webView.canGoBack()){                webView.goBack();                return true;            }            else            {                System.exit(0);            }        }        return super.onKeyDown(keyCode, event);    }}

0 0