分类: Android 2693人阅读 评论(0) 收藏 举报 android layout string url javascript 浏览器

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();
}

});

更多相关文章

  1. android ImageView 控件
  2. Android控件开发之TextView
  3. android中textview控件中的文字的位置是如何调整的
  4. Android中设置控件可见与不可见详解
  5. H5 Web网页通过JS(JavaScript)脚本调用Android本地原生方法函数
  6. Android下拉框控件Spinner的使用
  7. android之控件EditText学习
  8. android简易网页播放器
  9. Android 线性布局(LinearLayout)内各控件如何设置间距

随机推荐

  1. android怎样在布局文件监听事假
  2. Android(安卓)文件工具FileUtil
  3. Android(安卓)Media Scanner Mechanism A
  4. 【android】两个按钮的宽度各占屏幕的一
  5. 智能手机软件平台 Android(安卓)VS iPhon
  6. android 数据库
  7. Android(安卓)自定义对话框
  8. Android学习笔记(6)————Android的线
  9. android系统编译的网站
  10. android UI布局练习3