您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Android中如何使用WebView組件,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
網絡內容
1、LoadUrl直接顯示網頁內容(單獨顯示網絡圖片)
2、LoadData顯示中文網頁內容(含空格的處理)
APK包內文件
1、LoadUrl顯示APK中Html和圖片文件
2、LoadData(loadDataWithBaseURL)顯示APK中圖片和文字混合的Html內容
res/layout/main.xml
Xml代碼
< ?xml version="1.0" encoding="utf-8"?> < LINEARLAYOUT android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android"> < WEBVIEW android:layout_height="fill_parent" android:layout_width="fill_parent" android:id="@+id/webview" /> < /LINEARLAYOUT> < ?xml version="1.0" encoding="utf-8"?> < LINEARLAYOUT android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android"> < WEBVIEW android:layout_height="fill_parent" android:layout_width="fill_parent" android:id="@+id/webview" /> < /LINEARLAYOUT> Example_webview.java
Java代碼
package cn.coolworks; import java.net.URLEncoder; import android.app.Activity; import android.os.Bundle; import android.webkit.WebView; public class Example_webview extends Activity { WebView webView; final String mimeType = "text/html"; final String encoding = "utf-8"; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); webView = (WebView) findViewById(R.id.webview); webView.getSettings().setJavaScriptEnabled(true); // //webHtml(); // //webImage(); // //localHtmlZh(); // //localHtmlBlankSpace(); // //localHtml(); // // localImage(); // localHtmlImage(); } /** * 直接網頁顯示 */ private void webHtml() { try { webView.loadUrl("http://www.google.com"); } catch (Exception ex) { ex.printStackTrace(); } } /** * 直接網絡圖片顯示 */ private void webImage() { try { webView .loadUrl("https://cache.yisu.com/upload/information/20210522/379/541586.png"); } catch (Exception ex) { ex.printStackTrace(); } } /** * 中文顯示 */ private void localHtmlZh() { try { String data = "測試含有 中文的Html數據"; // utf-8編碼處理(在SDK1.5模擬器和真實設備上都將出現亂碼,SDK1.6上能正常顯示) //webView.loadData(data, mimeType, encoding); // 對數據進行編碼處理(SDK1.5版本) webView.loadData(URLEncoder.encode(data, encoding), mimeType, encoding); } catch (Exception ex) { ex.printStackTrace(); } } /** * 中文顯示(空格的處理) */ private void localHtmlBlankSpace() { try { String data = " 測試含有空格的Html數據 "; // 不對空格做處理 webView.loadData(URLEncoder.encode(data, encoding), mimeType, encoding); //webView.loadData(data, mimeType, encoding); // 對空格做處理(在SDK1.5版本中) webView.loadData(URLEncoder.encode(data, encoding).replaceAll( "\+", " "), mimeType, encoding); } catch (Exception ex) { ex.printStackTrace(); } } /** * 顯示本地圖片文件 */ private void localImage() { try { // 本地文件處理(如果文件名中有空格需要用+來替代) webView.loadUrl("file:///android_asset/icon.png"); } catch (Exception ex) { ex.printStackTrace(); } } /** * 顯示本地網頁文件 */ private void localHtml() { try { // 本地文件處理(如果文件名中有空格需要用+來替代) webView.loadUrl("file:///android_asset/test.html"); } catch (Exception ex) { ex.printStackTrace(); } } /** * 顯示本地圖片和文字混合的Html內容 */ private void localHtmlImage() { try { String data = "測試本地圖片和文字混合顯示,這是APK里的圖片"; // SDK1.5本地文件處理(不能顯示圖片) // webView.loadData(URLEncoder.encode(data, encoding), mimeType, // encoding); // SDK1.6及以后版本 // webView.loadData(data, mimeType, encoding); // 本地文件處理(能顯示圖片) webView.loadDataWithBaseURL("about:blank", data, mimeType, encoding, ""); } catch (Exception ex) { ex.printStackTrace(); } } }
關于Android中如何使用WebView組件就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。