`

Android WebView 用法

 
阅读更多

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 用法详解** 在Android开发中,WebView是一个非常重要的组件,它允许开发者在应用程序内部嵌入一个网页浏览器,使得用户可以在不离开应用的情况下浏览网页内容。这篇博文将深入探讨WebView的基本...

    Android WebView 去除标题

    可以使用WebView的`addJavascriptInterface`方法添加一个JavaScript接口,然后在网页加载完成后执行JavaScript代码: ```java webView.addJavascriptInterface(new Object() { @JavascriptInterface @android....

    实例详解Android Webview拦截ajax请求

    Android Webview 拦截 Ajax 请求的详细讲解 Android Webview 提供了页面加载及资源请求的钩子,但是对于 H5 的 Ajax 请求并没有提供干涉的接口。这意味着我们不能在 Webview 中干涉 JavaScript 发起的 HTTP 请求,...

    Android webview调用摄像头扫描二维码

    首先,让我们了解Android Webview的基本用法。Webview是Android SDK提供的一种视图组件,它能够加载和显示网页内容。在Android Studio中创建一个新的项目,我们需要在布局XML文件(如activity_main.xml)中添加一个...

    Android Webview滑动监听

    首先,我们要了解`WebView`的基本用法。在Android Studio中,创建一个新的布局XML文件,添加`WebView`组件: ```xml &lt;WebView android:id="@+id/webView" android:layout_width="match_parent" android:layout_...

    Android webview加载网页.zip

    这个“Android webview加载网页.zip”文件可能包含了一个示例项目或者教程,帮助开发者理解如何在Android应用中有效地使用WebView。 WebView的使用涉及到以下几个关键知识点: 1. **WebView组件引入**:在...

    通过css注入实现android webview的夜间模式

    然后,在Android应用中,我们需要在Webview加载网页之前或之后,使用`evaluateJavascript()`方法注入这段CSS代码。以下是一个简单的示例: ```java String nightModeCss = "document.head.innerHTML += '&lt;style&gt;...

    Android WebView播放视频(包括全屏播放)

    本文将详细讲解如何在Android的WebView中播放视频,包括全屏播放的实现方法。以下是对该主题的深入探讨: 1. **WebView基础知识**: - WebView是Android SDK提供的一种原生控件,用于加载和显示HTML、CSS和...

    Android WebView H5调用拍照

    在H5页面中,我们可以使用JavaScript来调用Android原生的方法。例如,通过一个按钮触发拍照: ```html &lt;button onclick="window.android.takePhoto()"&gt;拍照 ``` 以上就是Android WebView与H5混合开发中调用拍照...

    动态设置android webview字体大小DEMO

    然后,为了动态调整字体大小,我们需要实现一个方法,该方法接收一个表示字体大小的参数,并使用JavaScript接口与WebView中的网页进行交互。JavaScript接口可以在Java代码中定义,然后通过`addJavascriptInterface`...

    Android WebView另类实现 自由复制进入选择文字模式

    这里可以使用`window.getSelection()`获取选中的文本,并通过`android.copyText`调用Java方法: ```javascript document.body.addEventListener('mouseup', function() { var selection = window.getSelection()...

    Android webview使用方法总结

    Android WebView 使用方法总结 Android WebView 是一个非常强大的控件,允许开发者在 Android 应用程序中嵌入 Web 内容。下面是 Android WebView 使用方法总结的一些重要知识点: 一、WebViewClient 的使用 在 ...

    Android WebView加载网页以及本地图片缓存问题

    3. 清理缓存:当需要清理WebView的缓存时,可以使用以下方法: ```java webView.clearCache(true); // 清除所有缓存,包括磁盘和内存 webView.clearHistory(); // 清除浏览历史 ``` 总结,Android的WebView组件提供...

    android webview的用法总结

    总的来说,使用Android WebView开发应用时,需要注意性能优化,合理利用Java与JavaScript的交互,以及适配移动设备的触摸事件。同时,了解Android与iOS WebView的差异,可以帮助开发者更好地跨平台开发。通过适当的...

    Android webview用法实例简析

    本文简单分析了Android webview用法。分享给大家供大家参考,具体如下: 在Android手机中内置了一款高性能webkit内核浏览器,在SDK中封装成名为WebView的组件。 WebView使用: (1)添加权限:AndroidManifest.xml中...

    android webview input=file 失效解决方案

    在Android开发中,Webview是一个重要的组件,它允许我们在原生应用中内嵌网页内容,提供混合式应用的用户体验。然而,在使用Webview时,有时会遇到一个问题:当HTML页面中包含`&lt;input type="file"&gt;`用于上传文件的...

    android Webview读取网页里的所有图片,并实现点击放大

    要使用WebView,你需要在布局XML文件中添加WebView组件,并在对应的Activity或Fragment中实例化它,然后调用`loadUrl()`方法加载指定的网页。 ```xml &lt;WebView android:id="@+id/webView" android:layout_width=...

    Android webView拍照与展示相册图片

    要使WebView支持拍照和展示相册功能,我们需要使用Android的相机和图片选择API。以下是如何实现这个功能的步骤: 1. **添加权限**:在AndroidManifest.xml文件中,必须添加相机和读取存储的权限: ```xml ...

    Android下WebView中调用系统相机拍照范例

    `INTERNET`权限允许WebView加载网络资源,`CAMERA`权限允许应用使用设备的摄像头,而`WRITE_EXTERNAL_STORAGE`权限则是为了在SD卡上保存拍摄的照片。 接下来,我们要创建一个自定义的WebView类,扩展`WebViewClient...

Global site tag (gtag.js) - Google Analytics