webview 理解

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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值