Android WebView控件基本使用示例
Android WebView用於在 android 中顯示網頁。可以從相同的應用程序或 URL 加載網頁。它用於在 android 活動中顯示在線內容。
Android WebView 使用 webkit 引擎來顯示網頁。
android.webkit.WebView 是 AbsoluteLayout 類的子類。
Android WebView 類的loadUrl()和loadData()方法用於加載和顯示網頁。
Android WebView 示例
讓我們看看使用 Web 視圖顯示 baidu.com 網頁的簡單代碼。
WebView mywebview = (WebView) findViewById(R.id.webView1); mywebview.loadUrl("http://www.baidu.com/");
讓我們看看使用 Web 視圖顯示 HTML 網頁的簡單代碼。在這種情況下,html 文件必須位於資產目錄中。
WebView mywebview = (WebView) findViewById(R.id.webView1); mywebview.loadUrl("file:///android_asset/myresource.html");
讓我們看另一個顯示字符串的 HTML 代碼的代碼。
String data = "<html><body><h1>Hello, Javatpoint!</h1></body></html>"; mywebview.loadData(data, "text/html", "UTF-8");
完整的 Android WebView 示例
讓我們看一個完整的 Android WebView 示例。
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <WebView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/webView" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /> </androidx.coordinatorlayout.widget.CoordinatorLayout>
要在應用程序中本地添加網頁(.html、.jsp),需要將它們放置在 assets 文件夾中。資產文件夾創建為:右鍵單擊應用程序 -> 新建 -> 文件夾 -> 資產文件夾 -> 主目錄,或者簡單地在主目錄中創建資產目錄。
MainActivity.java
package com.example.webview; import android.os.Bundle; import android.webkit.WebView; import android.webkit.WebViewClient; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); WebView mywebview = (WebView) findViewById(R.id.webView); mywebview.loadUrl("http://www.baidu.com"); //系統默認會通過手機瀏覽器打開網頁,為瞭能夠直接通過WebView顯示網頁,則必須設置 mywebview.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { //使用WebView加載顯示url view.loadUrl(url); //返回true return true; } }); /* String data = "<html><body><h1>Hello, World!</h1></body></html>"; mywebview.loadData(data, "text/html", "UTF-8");*/ //mywebview.loadUrl("file:///android_asset/myresource.html"); } }
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.webview"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:usesCleartextTraffic="true" android:theme="@style/Theme.WebView"> <activity android:name=".MainActivity" android:exported="true" android:label="@string/app_name" android:theme="@style/Theme.WebView.NoActionBar"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-permission android:name="android.permission.INTERNET"></uses-permission> </manifest>
輸出:
如果加載 HTML 頁面,讓我們看看輸出。
如果您加載 baidu.com 網頁,讓我們看看輸出。
總結
到此這篇關於Android WebView控件基本使用示例的文章就介紹到這瞭,更多相關Android WebView控件內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Android 中 WebView 的基本用法詳解
- Android webview加載H5方法詳細介紹
- Android下拉列表框Spinner使用方法詳解
- Android四大組件之廣播BroadcastReceiver詳解
- Android AS創建自定義佈局案例詳解