WebView使用大全

转载请注明转自:noyet12的博客

博客原址:http://blog.csdn.net/u012975705/article/details/49814587

简单介绍

WebView是Android中能加载显示网页的控件,可以将其视为一个浏览器。在使用WebView之前必须在AndroidManifest.xml文件中添加权限:

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

否则会出现Web page not available错误。

WebView的实现方式

在Android中WebView有两种实现方式:一是在要Activity中实例化WebView组件

WebView webView = new WebView(this);

二是在布局文件中声明WebView,然后在Activity中实例化WebView

<WebView
        android:id="@+id/webview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/white"/>
webview = (WebView) findViewById(R.id.webview);  

WebView基本设置的方法

    /** 支持javascript */
    webview.getSettings().setJavaScriptEnabled(true);
    /** 设置可以支持缩放 */
    webview.getSettings().setSupportZoom(true);
    /** 设置出现缩放工具 */
    webview.getSettings().setBuiltInZoomControls(true);
    /** 扩大比例的缩放 */
    webview.getSettings().setUseWideViewPort(true);
    /** 清除浏览器缓存 */
    webview.clearCache(true);
    /** 自适应屏幕 */
    webview.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
    /** 优先使用缓存 *、
    webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
    /** 不使用缓存: */
    webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);

WebView数据加载方法详解

(1)loadUrl()

直接加载网页。

使用方式:

    //WebView加载web资源
    webView.loadUrl("http://baidu.com");
    //覆盖WebView默认使用第三方或系统默认浏览器打开网页的行为,使网页用WebView打开
    webView.setWebViewClient(new WebViewClient(){
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            /** 返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器 */
            view.loadUrl(url);
            return true;
        }
    });
    /** 判断页面加载过程 */
    webView.setWebChromeClient(new WebChromeClient() {
        @Override
        public void onProgressChanged(WebView view, int newProgress) {
            if (newProgress == 100) {
                /** 网页加载完成 */
            } else {
                /** 加载中 */
            }
        }
    });

(2)loadData

用来装载URI格式的数据,但不能加载网络内容。

使用方式:

webview.loadData(content, "text/html", "utf-8")

在使用loadData方法加载数据的时候,有可能会出现乱码,这时候可以使用loadDataWithBaseURL方法来加载数据,能过避免中文乱码

(3)loadDataWithBaseURL

loadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String historyUrl)

在使用loadDataWithBaseURL时,需要注意的就是 baseUr:虽然API上写的是要传一个Url,但我在用时,发现传一个Url并不可以,我发现这个就是一个标志位,用来标志当前页面的Key值的,而historyUrl就是一个value值,在加载时,它会把baseUrl和historyUrl传到List列表中,当作历史记录来使用,当前进和后退时,它会通过baseUrl来寻找historyUrl的路径来加载historyUrl路径来加载历史界面,需要注意的就是history所指向的必须是一个页面,并且页面存在于SD卡中或程序中(assets),loadDataWithBaseURL,它本身并不会向历史记录中存储数据,要想实现历史记录,需要我们自己来实现。

一般使用方式:

    webview.loadDataWithBaseURL(null, content, "text/html", "utf-8", null);

版权声明:本文为博主原创文章,转载请注明出处。博客首页:http://blog.csdn.net/u012975705。订阅:http://blog.csdn.net/rss.html?type=column&column=noyet12

时间: 2024-10-12 16:16:40

WebView使用大全的相关文章

Anaroid WebView详解大全

资源描述: 1.android提供了webView控件专门用来浏览网页. 然后在程序中装载webView控件,设置属性,比如:颜色.字体.要访问的网址等.通过loadUrl方法设置当前webView需要访问的网址.在创建WebView时,系统有一个默认的设置,我们可以通过WebView.getSettings来得到这个设置. 2.下面是设置一些常用属性.状态的方法 WebSettings常用方法: setAllowFileAccess 启用或禁止WebView访问文件数据 setBlockNet

看着看着就哭了的前端地址大全

原文地址:http://www.w3cfuns.com/notes/16438/db8e9e0bf80676f32b2cafb9b4932313.html 综合类 | 地址--- | --- 前端知识体系|http://www.cnblogs.com/sb19871023/p/3894452.html前端知识结构|https://github.com/JacksonTian/fksWeb前端开发大系概览|https://github.com/unruledboy/WebFrontEndStack

android源码大放送(实战开发必备),免费安卓demo源码,例子大全文件详细列表

免费安卓demo源码,例子大全文件详细列表 本列表源码永久免费下载地址:http://www.jiandaima.com/blog/android-demo 卷 yunpan 的文件夹 PATH 列表 卷序列号为 0000-73EC E:. │ jiandaima.com文件列表生成.bat │ 例子大全说明.txt │ 本例子永久更新地址~.url │ 目录列表2016.03.10更新.txt │ ├─前台界面 │ ├─3D标签云卡片热门 │ │ Android TagCloudView云标签

IOS下WEBVIEW 的javascript数组与json定义 及交互

最近在折腾IOS新闻浏览客户端,当中需要用到webview传递JSON数据到IOS上,然后在IOS上解析.刚入门IOS不久,看了不少的书,但都是囫囵吞枣.在开发过程中,遇到不少问题.开发环境mac mini (IOS端开发)thinkpad x200s(PHP开发)功能实现:在WEBVIEW创建DOM监听,判断用户按下WEBVIEW上链接,通过DOM获取相关链接信息,遍历数组,最终用$.toJSON(jsArray);//将JS数组转换成JSON格式下面记录一下1.JS数组定义最终在WEBVIE

2015最流行的Android组件、工具、框架大全(转)

转自:2015最流行的Android组件.工具.框架大全 Android 是目前最流行的移动操作系统之一. 随着新版本的不断发布, Android的功能也日益强大, 涌现了很多流行的应用程序, 也催生了一大批的优秀的组件.本文试图将目前流行的组件收集起来以供参考, 如果你发现本文还没有列出的组件,欢迎在评论中贴出来,我会定期的更新本文. 部分图片需国内或许不能访问才能显示 很好的中文教程Google Android官方培训课程中文版 awesome-android, android列表. 另,g

[转]最流行的android组件大全

目录(?)[+] 目录(?)[-] 最流行的android组件大全 UI组件 类库 游戏引擎 Android HTML5应用 最流行的android组件大全 最新更新文档请访问我的网站 Android 是目前最流行的移动操作系统(还需要加之一吗?). 随着新版本的不断发布, Android的功能也日益强大, 涌现了很多流行的应用程序, 也催生了一大批的优秀的组件. 本文试图将目前流行的组件收集起来以供参考, 如果你发现本文还没有列出的组件,欢迎在评论中贴出来,我会定期的更新本文. 很好的中文教程

Android layout布局属性、标签属性总结大全

RelativeLayout 第一类:属性值为true可false android:layout_centerHrizontal        水平居中 android:layout_centerVertical         垂直居中 android:layout_centerInparent         相对于父元素完全居中 android:layout_alignParentBottom     贴紧父元素的下边缘 android:layout_alignParentLeft    

CSS颜色代码大全

CSS颜色代码大全 颜色代码表(一): EEEEEE FFCCFF FF66FF FF00FF DDDDDD FFCCCC FF66CC FF00CC CCCCCC FFCC99 FF6699 FF0099 BBBBBB FFCC66 FF6666 FF0066 AAAAAA FFCC33 FF6633 FF0033 999999 FFCC00 FF6600 FF0000 888888 CCCCFF CC66FF CC00FF 777777 CCCCCC CC66CC CC00CC 666666

10.3.3 WebView的几个常见功能

当前主流的开发模式是"WebView+ProgressDialog" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_paren