Android---webview的用法



基本代码:
Uri uri = Uri.parse("http://www.baidu.com");
Intent intent = new Intent(this,uri);
startActivity(intent);


1.将webview加入你的应用
    <WebView
android:id = "@+id/WebView"
android:layout_width="match_parent"
android:layout_height="match_parent">
    </WebView>


2.使用webview加载页面
    web资源用:webview.loadUrl("http://www.baidu.com");
    本地文件用:webview.loadUr("file:///android_asset/XX.html);
     webview.requestFocus();//是页面获得焦点


3.Mainfest.xml
   <uses-permission andriod:name  = "android.permission.INTERNET"/>


4.处理页面导航
 //覆盖webview默认通过第三方或者是系统浏览器打开网页的行为,是的网页 可以在


webview中打开
webview。loadUrl("http://www.baidu.com");
webview.setWebviewClient(new WebViewClient(){
      @override
      public boolean shouldOverriderUrlLoading(webview view,String url){
            //返回值是true的时候控制网页在webview中打开,false的时候需要用第三方


浏览器打开
view.loadUri(url);
return true;
  }
   //WebViewClient帮助WebView去处理一些页面控制和请求通知
 });
//启用支持JavaScript
WebSettings settings = webView.getSettings();
settings.setJavaScripteEnabled(true);
}
5.后退与前进
  goBack()和goFore();


//改写物理按键---返回的逻辑
@Override
publiv boolean onKeyDown(int keyCode,KeyEvent event){
    if(keyCode == KeyEvent.KEYCODE_BACK){
if(webview.canGoBack()){
    webview.goBack();
    return true;
}else{
     system.exit(0);//退出程序
}
       }
}


6.判断页面加载过程
private ProgressDialog dialog;
webView.setWebChromeClient(new WebChromeClient(){
      public void onProgressChanged(Webview view,int newProgress){
if(newProgress == 100){
closeDialoag();
}else{
openDialog();
}
       }
      private void closeDialog(){
if(dialog!=null&&dialog.isEmpty(0){
dialog.dismiss();

}

}


      private void openDialog(){
if(dialog == null){
dialog = new ProgressDialog(MainActivity.this);
dialog.setTitle("正在加载");
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
dialog.setProgress(newProgress);
dialog.show()
}else{
    dialog.setProgress(newProgress);//刷新当前的进度
}
      }
});


7.webview缓存的运用
//webview加载页面优先使用缓存加载

setting.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值