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();
}
});
相关推荐
**Android WebView 用法详解** 在Android开发中,WebView是一个非常重要的组件,它允许开发者在应用程序内部嵌入一个网页浏览器,使得用户可以在不离开应用的情况下浏览网页内容。这篇博文将深入探讨WebView的基本...
可以使用WebView的`addJavascriptInterface`方法添加一个JavaScript接口,然后在网页加载完成后执行JavaScript代码: ```java webView.addJavascriptInterface(new Object() { @JavascriptInterface @android....
Android Webview 拦截 Ajax 请求的详细讲解 Android Webview 提供了页面加载及资源请求的钩子,但是对于 H5 的 Ajax 请求并没有提供干涉的接口。这意味着我们不能在 Webview 中干涉 JavaScript 发起的 HTTP 请求,...
首先,让我们了解Android Webview的基本用法。Webview是Android SDK提供的一种视图组件,它能够加载和显示网页内容。在Android Studio中创建一个新的项目,我们需要在布局XML文件(如activity_main.xml)中添加一个...
首先,我们要了解`WebView`的基本用法。在Android Studio中,创建一个新的布局XML文件,添加`WebView`组件: ```xml <WebView android:id="@+id/webView" android:layout_width="match_parent" android:layout_...
这个“Android webview加载网页.zip”文件可能包含了一个示例项目或者教程,帮助开发者理解如何在Android应用中有效地使用WebView。 WebView的使用涉及到以下几个关键知识点: 1. **WebView组件引入**:在...
然后,在Android应用中,我们需要在Webview加载网页之前或之后,使用`evaluateJavascript()`方法注入这段CSS代码。以下是一个简单的示例: ```java String nightModeCss = "document.head.innerHTML += '<style>...
本文将详细讲解如何在Android的WebView中播放视频,包括全屏播放的实现方法。以下是对该主题的深入探讨: 1. **WebView基础知识**: - WebView是Android SDK提供的一种原生控件,用于加载和显示HTML、CSS和...
在H5页面中,我们可以使用JavaScript来调用Android原生的方法。例如,通过一个按钮触发拍照: ```html <button onclick="window.android.takePhoto()">拍照 ``` 以上就是Android WebView与H5混合开发中调用拍照...
然后,为了动态调整字体大小,我们需要实现一个方法,该方法接收一个表示字体大小的参数,并使用JavaScript接口与WebView中的网页进行交互。JavaScript接口可以在Java代码中定义,然后通过`addJavascriptInterface`...
这里可以使用`window.getSelection()`获取选中的文本,并通过`android.copyText`调用Java方法: ```javascript document.body.addEventListener('mouseup', function() { var selection = window.getSelection()...
Android WebView 使用方法总结 Android WebView 是一个非常强大的控件,允许开发者在 Android 应用程序中嵌入 Web 内容。下面是 Android WebView 使用方法总结的一些重要知识点: 一、WebViewClient 的使用 在 ...
3. 清理缓存:当需要清理WebView的缓存时,可以使用以下方法: ```java webView.clearCache(true); // 清除所有缓存,包括磁盘和内存 webView.clearHistory(); // 清除浏览历史 ``` 总结,Android的WebView组件提供...
总的来说,使用Android WebView开发应用时,需要注意性能优化,合理利用Java与JavaScript的交互,以及适配移动设备的触摸事件。同时,了解Android与iOS WebView的差异,可以帮助开发者更好地跨平台开发。通过适当的...
本文简单分析了Android webview用法。分享给大家供大家参考,具体如下: 在Android手机中内置了一款高性能webkit内核浏览器,在SDK中封装成名为WebView的组件。 WebView使用: (1)添加权限:AndroidManifest.xml中...
在Android开发中,Webview是一个重要的组件,它允许我们在原生应用中内嵌网页内容,提供混合式应用的用户体验。然而,在使用Webview时,有时会遇到一个问题:当HTML页面中包含`<input type="file">`用于上传文件的...
要使用WebView,你需要在布局XML文件中添加WebView组件,并在对应的Activity或Fragment中实例化它,然后调用`loadUrl()`方法加载指定的网页。 ```xml <WebView android:id="@+id/webView" android:layout_width=...
要使WebView支持拍照和展示相册功能,我们需要使用Android的相机和图片选择API。以下是如何实现这个功能的步骤: 1. **添加权限**:在AndroidManifest.xml文件中,必须添加相机和读取存储的权限: ```xml ...
`INTERNET`权限允许WebView加载网络资源,`CAMERA`权限允许应用使用设备的摄像头,而`WRITE_EXTERNAL_STORAGE`权限则是为了在SD卡上保存拍摄的照片。 接下来,我们要创建一个自定义的WebView类,扩展`WebViewClient...