Android和iOS系统都提供了标准的浏览器控件,在Android中是WebView,iOS中为UIWebView。在iOS中你实例化一 个UIWebView即可调用loadRequest来加载一个网页,但是在Android中你不仅需要创建一个WebView,还需要做一些其他的事 情,建议初次使用WebView的读者按照以下步骤使用:

(1)在要实现WebView的XML中添加一个WebView,并按照自己的要求进行排版,如下:

<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"

android:layout_gravity="center">

//添加一个WebView控件

<WebView
android:id="@+id/webView"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
//在当前Activity的中心位置放置一个不停转圈的加载进度条
<ProgressBar android:id="@+id/progressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"

android:visibility="gone"/>

</FrameLayout>

(2)在AndroidManifest.xml中添加网络访问权限,没有权限是访问不了网络的。

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

(3)在使用WebView的Activity中添加如下代码:

//获取WebView变量

WebView webView = (WebView)findViewById(R.id.webView);

//××××××××

//切记要添加下一行代码,因为Android中的WebView默认是不响应JavaScript控件的,如果不加下面这一行,就会出现一个很奇 怪的问题,网上也有很多人都在问,为什么加载的网页链接可以点击并跳转,但是按钮点了却没反应。因为很多网页的控件是通过JS编写的,所以要添加下面一行 代码以便响应JS控件。

webView.getSettings().setJavaScriptEnabled(true);

//××××××××

//加载一个网页

webView.loadUrl("http://www.baidu.com");

(4)处理页面加载状况回调,如开始加载网页,加载成功,加载超时等

//添加网页加载状况回调,这里使用了WebViewClient的匿名内部类方式,如果你不知道WebViewClient类有哪些可以响应的回 调函数的话,你可以在代码中选中WebViewClient,右键选择源代码--->覆盖/实现方法,在弹出的对话框中包含了 WebViewClient的所有可以覆盖的方法。如果不添加这个方法的话,当你点击网页中的链接时,会弹出一个框提示你使用哪种浏览器来打开这个链接。

webView.setWebViewClient(new WebViewClient(){
//网页加载开始时调用,显示加载提示旋转进度条
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
// TODO Auto-generated method stub
super.onPageStarted(view, url, favicon);
progressBar.setVisibility(android.view.View.VISIBLE);
// Toast.makeText(ElecHall.this, "onPageStarted", 2).show();
}

//网页加载完成时调用,隐藏加载提示旋转进度条
@Override
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);
progressBar.setVisibility(android.view.View.GONE);
// Toast.makeText(ElecHall.this, "onPageFinished", 2).show();
}
//网页加载失败时调用,隐藏加载提示旋转进度条
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
// TODO Auto-generated method stub
super.onReceivedError(view, errorCode, description, failingUrl);
progressBar.setVisibility(android.view.View.GONE);
// Toast.makeText(ElecHall.this, "onReceivedError", 2).show();
}

});



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐
  • —软件人才免语言低担保 赴美带薪读研!—



更多相关文章

  1. android Glide简单使用
  2. Android(安卓)Afinal使用与总结
  3. android中的http框架,使其更加简单易用
  4. Android的快速开发框架,Afinal 0.2.1 发布
  5. Android的快速开发框架 afinal
  6. Android快速开源框架--afinal
  7. androidのEditTex详细使用
  8. Android——Bitmap的加载和Cache
  9. Android中webview加载的网页上的按钮点击失效

随机推荐

  1. android中去掉listview某人选中高亮状态
  2. Android更改ProgressBar颜色
  3. Android系统中自带的图标
  4. ubuntu android 开发环境配置
  5. android 支持宽屏
  6. Android(安卓)之 Spinner用法介绍
  7. Android(安卓)SDKVersion 参数列表
  8. android 支持宽屏
  9. android > 控件 > RadioGroup
  10. android 自定义主题样式