日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android中使用WebView加载本地html并支持运行JS代码和支持缩放

發布時間:2025/3/19 Android 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android中使用WebView加载本地html并支持运行JS代码和支持缩放 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

場景

Openlayers中使用Image的rotation實現車輛定位導航帶轉角(判斷車輛圖片旋轉角度):

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/118635362

在上面實現html中顯示車載導航效果如下

?

現在要將其封裝進APP中,打包成車載導航的APP。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
關注公眾號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。

實現

首先新建一個Application,然后再布局文件中添加一個webview組件

?

可以直接設計視圖拖拽,或者通過代碼添加,并且設置一個id

??? <WebViewandroid:id="@+id/webview"android:layout_width="409dp"android:layout_height="729dp"tools:layout_editor_absoluteX="1dp"tools:layout_editor_absoluteY="1dp"tools:ignore="MissingConstraints" /> </androidx.constraintlayout.widget.ConstraintLayout>

然后在項目目錄下新建assets目錄,將html以及所需要的整個的資源與js文件等都復制到該目錄下

?

來到MainActivity中的onCreate方法中,通過id獲取組件,并設置其WebChromeClient

??????? //獲取webviewWebView webView = findViewById(R.id.webview);//設置為ChromeClinet 才能執行js代碼WebChromeClient webChromeClient = new WebChromeClient();webView.setWebChromeClient(webChromeClient);

WebViewClient與WebChromeClient

?

然后設置開啟js支持和支持縮放

??????? //設置開啟js支持webView.getSettings().setJavaScriptEnabled(true);// 是否支持縮放webView.getSettings().setSupportZoom(true);

最后加載本地html

??????? //加載本地htmlwebView.loadUrl("file:///android_asset/offLineTileMap.html");

這里的offLineTileMap.html就是上面放在assets下要加載顯示的頁面。

完整代碼

package com.badao.webviewdemo;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle; import android.webkit.WebChromeClient; import android.webkit.WebView;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//獲取webviewWebView webView = findViewById(R.id.webview);//設置為ChromeClinet 才能執行js代碼WebChromeClient webChromeClient = new WebChromeClient();webView.setWebChromeClient(webChromeClient);//設置開啟js支持webView.getSettings().setJavaScriptEnabled(true);// 是否支持縮放webView.getSettings().setSupportZoom(true);//加載本地htmlwebView.loadUrl("file:///android_asset/offLineTileMap.html");} }

運行app查看效果

?

總結

以上是生活随笔為你收集整理的Android中使用WebView加载本地html并支持运行JS代码和支持缩放的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。