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代码和支持缩放相关推荐
- Android中获取WebView加载的html中console.log输出的内容
场景 Android中使用WebView加载本地html并支持运行JS代码和支持缩放: Android中使用WebView加载本地html并支持运行JS代码和支持缩放_BADAO_LIUMANG_QI ...
- android动态设置错误页面,Android中替换WebView加载网页失败时的页面
我们用webView去请求一个网页链接的时候,如果请求网页失败或无网络的情况下,它会返回给我们这样一个页面,如下图所示: 上面这个页面就是系统自带的页面,你觉得是不是很丑?反正小编本人觉得非常丑,很难 ...
- Android中WebView加载本地Html,与JavaScript与Android方法相互传值...
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010046908/article/details/51759125 最近在做项目中,要使用High ...
- Android中WebView加载本地Html,与JavaScript与Android方法相互传值(续)...
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010046908/article/details/51809558 接着上篇Android中Web ...
- iOS WebView 加载本地资源(图片,文件等)
NSString *path = [[NSBundle mainBundle] pathForResource:@"关于.docx" ofType:nil]; NSURL *url ...
- Android中的图片加载
Android中的图片加载所出现的问题 在Android的开发中,经常需要去加载图片,但是图片的尺寸有时候往往会很大,而我们的内存是有限的,加载进来的时候很有可能会造成内存溢出,这种结果也是我们不想看 ...
- cefsharp读取exe html,wpf中使用cefsharp加载本地html网页并实现cs和js的交互并且cefsh...
wpf中使用cefsharp加载本地html网页并实现cs和js的交互并且cefsh wpf中使用cefsharp加载本地html网页并实现cs和js的交互,并且cefsharp支持any cpu 第 ...
- android fragment加载布局的方式,Android中Fragment的加载方式与数据通信详解
Android中Fragment的加载方式与数据通信详解 发布时间:2020-08-22 18:55:57 来源:脚本之家 阅读:155 作者:Joah 一.加载方式 1. 静态加载 1.1 加载步骤 ...
- android webview 加载本地,webview加载本地资源的各种尝试
1.webview 打开sd卡上的静态html文件 ,js文件既然放在assets文件夹下能找到,那能通过放在sd卡,能加载吗? 答:事实证明,是没有用的. 2.既然能拿到html的数据,那我们是不是 ...
最新文章
- 92.芯片组 93.北桥 94.南桥
- Shiro笔记(三)授权
- 深度学习和目标检测系列教程 3-300:了解常见的目标检测的开源数据集
- Boost:双图bimap分配的测试程序
- GNU C __attribute__ 机制简介
- Codeforces Round #766 (Div. 2) D. Not Adding 数学gcd
- php怎样数据缓存文件,php数据缓存到文件类设计
- 中山市区电信5g覆盖地图_热点 | 百度与中国电信达成战略合作 覆盖5G、互联网等领域...
- 人人都能看懂的 LSTM
- [IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序...
- JAVA的反射机制原理
- php课程设计学生信息管理系统,学生成绩管理系统/学生信息管理系统
- IAR软件安装图文教程
- 网站php镜像小偷,网站被镜像了怎么办?
- Android开机速度优化(第三篇)
- 微型计算机控制技术 高国琴,微型计算机控制技术论文集 微型计算机控制技术外文文献怎么找...
- cf#94-div1-A. Statues
- 用计算机计算实发工资,工资税率计算器 个税反推应发工资计算公式
- 微博app打开微信小程序的方法
- CNN神经网络猫狗分类经典案例
热门文章
- header中Content-Disposition的作用与使用方法
- java common io_Java之Apache Commons-IO使用精讲
- 智能指针的释放_手把手教你实现智能指针
- wcf高并发 mysql_使用nginx搭建高可用,高并发的wcf集群
- shell编程服务器维护,简单监测服务器的shell脚本
- linux 64 nc,linux 命令之nc
- php怎么输出以前的时间,php输出指定时间以前时间格式的方法_PHP
- bulkwrite 批量插入_SQL SERVER 使用BULK Insert将txt文件中的数据批量插入表中(1)
- python动态图片转字符画_GIF动态图,视频?都能用Python转换成字符画图像
- android中获取mac地址8.0,关于Android8.0以下手机获取蓝牙Mac地址的问题和扫描周围的手机蓝牙问题 下篇...