API Demos 2.3学习笔记(10)-- Views->WebView

  次阅读 来源:互联网(转载协议) 2015-10-02 21:40 我要评论(0)

WebView是一个专门用来显示网页的View子类。它使用WebKit渲染引擎来显示网页,并且支持包括前进,后退,放大,缩小,文本搜索等多种功能。

WebView有一个辅助类叫WebSettings,它管理WebView的设置状态。该类的对象可以通过WebView.getSettings()方法获得。下面我们介绍几个常用的WebSettings设置:

view plainprint?

//得到WebView对象

WebView mWebView = (WebView) findViewById(R.id.wv1);

//通过WebView得到WebSettings对象

WebSettings mWebSettings = mWebView.getSettings();

//设置支持Javascript的参数

mWebSettings.setJavaScriptEnabled(true);

//设置可以支持缩放

mWebSettings.setSupportZoom(true);

//设置出现缩放工具

mWebSettings.setBuiltInZoomControls(true);

//设置默认缩放方式尺寸是far

mWebSettings.setDefaultZoom(WebSettings.ZoomDensity.FAR);

//设置允许访问文件数据

mWebSettings.setAllowFileAccess(true);

//设置是否保存密码

mWebSettings.setSavePassword(true);

//设置网页默认编码

Settings.setDefaultTextEncodingName(encoding);

有关WebSettings更多的设置选项,请参考Android SDK的帮助文档。

下面我们结合实例,简单介绍下通过WebView访问网页的三种常用方法:loadUrl、loadData以及loadDataWithBaseURL。

1、public void loadUrl(String url)

loadUrl方法很简单,只需要提供一个参数,即url地址,就可以进行自动加载。

该方法适用于加载网页、网页图片、本地网页以及本地图片。具体参考如下:

view plainprint?

WebView wv = (WebView) findViewById(R.id.wv1);

wv.requestFocus(); //请求焦点

wv.getSettings().setJavaScriptEnabled(true); //设置是否支持JavaScript

wv.getSettings().setSupportZoom(true); //设置是否支持缩放

wv.getSettings().setBuiltInZoomControls(true); //设置是否显示内建缩放工具

wv.getSettings().setSavePassword(true); //设置是否保存密码

wv.loadUrl("http://www.baidu.com/");//加载在线网页

wv.loadUrl("http://up.2cto.com/2011/0930/20110930020727775.jpg"); //加载在线图片

wv.loadUrl("file:///mnt/sdcard/Google.html"); //加载本地网页(SD卡根目录下)

wv.loadUrl("http://up.2cto.com/2011/0930/20110930021037759.jpg");//加载本地图片(SD卡根目录下)

注:1、后面四句包含“loadUrl”的语句分别对应加载在线网页/在线图片/本地网页/本地图片四中情况,每种情况下只取其一。

2、对于sdcard中的本地网页和图片等资源,一般url地址以 “file:///mnt/sdcard/”开头;

3、对于android项目中assets目录下的本地网页和图片等资源, 一般url地址以 “ file:///android_asset/ "开头;

2、public void loadData(String data, String mimeType, String encoding)

loadData将指定的data加载到WebView中。由于本身机制的原因,该方法不能加载来自网络的内容。其中,data内的html代码中若含有以下四种字符'#', '%', '\', '?',则应该依次替换为%23, %25, %27, %3f 。 参数mimeType,即MIME Type,也就是该资源的媒体类型,可以取值text/html, image/jpeg等。参数 encoding为网页编码,可以取值utf-8, base64等。具体参考如下:

本站部分文章来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 2018深圳国际人工智能展览会 2018 shenzhen International Artif

    2018深圳国际人工智能展览会 2018 shenzhen International Artif

  • Oculus公布原型机,大幅度提升可视角,能实现140°的视场水平

    Oculus公布原型机,大幅度提升可视角,能实现140°的视场水平

  • teamLab创始人猪子寿之: 抛去衣食住行,我还剩下什么?

    teamLab创始人猪子寿之: 抛去衣食住行,我还剩下什么?

  • Michael I. Jordan带你解读百万奖金ATEC蚂蚁人工智能大赛

    Michael I. Jordan带你解读百万奖金ATEC蚂蚁人工智能大赛

网友点评网友点评
阅读推荐阅读推荐

据外媒报道,STEER打造了首款完全自动驾驶停车技术,旨在使常规车辆转变为无人驾驶车辆。STEER的首款技术应用是4级自动驾驶及网络安全停车...

近日,美国软性机器抓手制造商 Soft Robotics 宣布,获得 2000 万美元的融资,本轮投资者包括 Scale Venture Partners,Calibrate Ventures...

据外媒报道,加州车管局发布了《2017自动驾驶脱离报告(California Autonomous Vehicle Disengagement Reports)》,其中谈及了脱离的具体...

用人机语音交互,来解决智能家居适老的问题;通过家庭门禁与安防套件、空气净化套件、可燃气体与有害气体监控套件等相互联动,在不同生活情...