(三) Android Webview 深入 (中)
来源:互联网 发布:阿里云服务器选购指南 编辑:程序博客网 时间:2024/04/19 17:45
建立在对webView控件有了一定的认识和了解之后,我们就可以继续研究一下这个控件了,这篇文章主要介绍一下如何使webView与ProgressDialog结合。
WebView 组件支持直接加载网页,可以将其视为一个浏览器,要实现该功能,具体步骤如下:
1.新建xml布局文件,如下:
<span style="font-size:18px;"><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <WebView android:id="@+id/webView" android:layout_width="match_parent" android:layout_height="match_parent" /></RelativeLayout></span>2.在主Activity中对控件进行初始化和设置相应的参数
<span style="font-size:18px;">package com.happy.wbpd;import android.app.Activity;import android.app.AlertDialog;import android.app.ProgressDialog;import android.content.DialogInterface;import android.os.Bundle;import android.view.KeyEvent;import android.webkit.WebView;import android.webkit.WebViewClient;import android.widget.ProgressBar;import android.widget.Toast;public class MainActivity extends Activity {private WebView webView;private AlertDialog alertDialog;private ProgressDialog progressBar;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initWebView();}/** * 初始化webView */private void initWebView() {webView = (WebView) this.findViewById(R.id.webView);progressBar = ProgressDialog.show(MainActivity.this, null,"正在进入网页,请稍后...");webView.getSettings().setJavaScriptEnabled(true);webView.loadUrl("http://www.baidu.com/");alertDialog = new AlertDialog.Builder(MainActivity.this).create();webView.setWebViewClient(new WebViewClient() {@Overridepublic void onPageFinished(WebView view, String url) {if (progressBar.isShowing()) {progressBar.dismiss();}}@Overridepublic void onReceivedError(WebView view, int errorCode,String description, String failingUrl) {Toast.makeText(MainActivity.this, "网页加载出错!", Toast.LENGTH_LONG);alertDialog.setTitle("ERROR");alertDialog.setMessage(description);alertDialog.setButton("OK",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog,int which) {}});alertDialog.show();}@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {view.loadUrl(url);return true;}});}@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack()) {webView.goBack();return true;}return super.onKeyDown(keyCode, event);}}</span>3.在需要在AndroidManifest.xml 中添加访问互联网的权限,否则不能显示:
<uses-permission android:name="android.permission.INTERNET"/>
该逻辑比较简单,外加今天比较忙,所以就大体介绍一下,下篇文章会说一下webView与javaScript的互相调用以及listView加入webView实现下拉刷新。
1 0
- (三) Android Webview 深入 (中)
- 深入学习android WebView
- 深入理解Android WebView
- Android WebView中Header与Cookie应用场景深入剖析
- Android WebView中Header与Cookie应用场景深入剖析
- Android WebView中Header与Cookie应用场景深入剖析
- (二) Android Webview 深入 (上)
- (四) Android Webview 深入 (下)
- 深入讲解Android—WebView
- 深入理解Android—WebView
- Android中WebView加载页面的三种格式
- Android中Webview自适应屏幕实现的三种方法
- Android WebView 开发详解(三)
- Android WebView 开发详解(三)
- Android WebView 开发详解(三)
- android WebView(三)WebViewClient
- Android WebView 开发详解(三)
- Android WebView 开发详解(三)
- 学院网站搭建
- 如何打马赛克
- java前奏2
- javascript简单计算器的实现
- 数据可视化工具选型指南
- (三) Android Webview 深入 (中)
- Memcache(MC)系列(五)使用memcache-top监控memcache集群状态
- ubuntu设置开机启动图形应用程序,替换默认图形桌面
- JAVA程序设计(05.3)-----对象的4个特性
- 线程(二)Thread类
- AVAudioPlayer本地音乐播放
- Android中利用服务来守护进程
- 判断两个单向链表是否有交点
- OSI七层模型详解