webview 理解

转载 2016年06月02日 10:26:03

Android.webkit.WebView本身就是一个浏览器实现,它的内核基于开源WebKit引擎。

常用方法:
void goBack():后退
void goForward():前进
void loadUrl(String url):加载网页
boolean ZoomIn():放大网页
boolean zoomOut():缩小网页

更多的请查阅官方文档(docs/reference/android/webkit/WebView.html)

1.加载URL对应的页面

<code class="hljs r has-numbering">WebView webview = (WebView) findViewById(R.id.webview);
<span class="hljs-keyword">...</span>
webview.loadUrl(<span class="hljs-string">"www.csdn.net"</span>);</code><ul style="" class="pre-numbering"><li>1</li><li>2</li><li>3</li></ul><ul style="" class="pre-numbering"><li>1</li><li>2</li><li>3</li></ul>

2.加载HTML代码

WebView提供了loadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String historyUrl)方法,参数说明如下:

baseUrl:作为网页输入的网址(一般null)
data:需要加载的HTML代码
mimeType:指定HTML代码的MIME类型,HTML可指定为text/html
encoding:指定HTML代码的字符编码
historyUrl:历史输入的网址(一般null)
<code class="hljs avrasm has-numbering">WebView webview = (WebView) findViewById(R<span class="hljs-preprocessor">.id</span><span class="hljs-preprocessor">.webview</span>)<span class="hljs-comment">;</span>
StringBuilder sb = new StringBuilder()<span class="hljs-comment">;</span>
// 拼接一段HTML代码
sb<span class="hljs-preprocessor">.append</span>(<span class="hljs-string">"<html>"</span>)<span class="hljs-comment">;</span>
sb<span class="hljs-preprocessor">.append</span>(<span class="hljs-string">"<head>"</span>)<span class="hljs-comment">;</span>
sb<span class="hljs-preprocessor">.append</span>(<span class="hljs-string">"<title> Test </title>"</span>)<span class="hljs-comment">;</span>
sb<span class="hljs-preprocessor">.append</span>(<span class="hljs-string">"</head>"</span>)<span class="hljs-comment">;</span>
sb<span class="hljs-preprocessor">.append</span>(<span class="hljs-string">"<body>"</span>)<span class="hljs-comment">;</span>
sb<span class="hljs-preprocessor">.append</span>(<span class="hljs-string">"<h2> Test Page </h2>"</span>)<span class="hljs-comment">;</span>
sb<span class="hljs-preprocessor">.append</span>(<span class="hljs-string">"</body>"</span>)<span class="hljs-comment">;</span>
sb<span class="hljs-preprocessor">.append</span>(<span class="hljs-string">"</html>"</span>)<span class="hljs-comment">;</span>
// 使用简单的loadData方法会导致乱码
// webview<span class="hljs-preprocessor">.loadData</span>(sb<span class="hljs-preprocessor">.toString</span>(), <span class="hljs-string">"text/html"</span>, <span class="hljs-string">"utf-8"</span>)<span class="hljs-comment">;</span>
// 加载、并显示HTML代码
webview<span class="hljs-preprocessor">.loadDataWithBaseURL</span>(null, sb<span class="hljs-preprocessor">.toString</span>(), <span class="hljs-string">"text/html"</span>, <span class="hljs-string">"utf-8"</span>, null)<span class="hljs-comment">;</span></code>

Android WebView深度理解

我作为Android开发者,我们都知道在手机中内置了一款高性能 webkit 内核浏览器,在 SDK 中封装为一个叫做 WebView 组件。今天就为大家讲讲Android中WebView的详细使用方...

Android深入理解WebView——上

版权声明:本文原创,转载请注明来自开源实验室 http://www.kymjs.com/ 目录(?)[+] 摘要 作为Android开发者,我们都知道在手机中内置...

理解WebKit和Chromium: Android 4.4 上的Chromium WebView

转载请注明原文地址:http://blog.csdn.net/milado_nju ## 概述 相信读者已经注意到了,在最新的Android 4.4 Kitkat版本中,原...

深入理解WebView

摘要 作为Android开发者,我们都知道在手机中内置了一款高性能 webkit 内核浏览器,在 SDK 中封装为一个叫做 WebView 组件。今天就为大家讲讲Android中WebView的...

深入理解Android WebView

作为Android开发者,我们都知道在手机中内置了一款高性能 webkit 内核浏览器,在 SDK 中封装为一个叫做 WebView 组件。今天就为大家讲讲Android中WebView的详细使用方法...
  • lgx06
  • lgx06
  • 2016年04月08日 18:06
  • 5243

Chromium on Android: 理解Chromium WebView的绘制模型

从应用程序层次来看,它只是一个视图(View)部件而已,与普通的Button部件一样,WebView可以被嵌入在应用程序的任何一个位置,所以,尽管WebView是一个较为复杂的视图部件,但仍然按照An...

完美解决WebView与上层父元素的TouchMove事件冲突

在开发过程中你可能会遇到这样一种情况。端里面使用ViewPager嵌套了多个WebView页面,同时某一个WebView中的页面元素需要响应TouchMove事件。正如下图所示的情景: ...
  • daeees
  • daeees
  • 2014年09月30日 10:33
  • 13384

webView解决内存泄漏

  • 2017年12月08日 16:25
  • 2KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:webview 理解
举报原因:
原因补充:

(最多只允许输入30个字)