native.js设置可缩放的webview并隐藏缩放控件

需求明确:webview页面可以手指缩放,并且不要那个原生控件;

实现思路:

1.使用h5+封装好的方法:设置scalable 属性,并在html中设置meta标签:user-scalable=yes 或不设置,minimum-scalemaximum-scale 需要注意不要都设为1:

<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1" />
mui.openWindow({
    url: "someThing",
    id: "someThing",
    styles: {
        scalable:true
    },
})

如此一来,webview已经可以实现缩放功能,但是会有安卓原生的缩放控件存在,如下图:

如此一个不能更改样式的控件出现在右下角,客户一定会怒发冲冠的,但是在经过研究之后,发现html5plus不提供隐藏这个控件的api,只能通过native.js来写:

2.native.js的方法依旧需要设置meta 标签,但是记得去掉scalable:true ,这个会覆盖我们的代码:

//获取WebSettings
var Webview = plus.android.importClass("android.webkit.WebView");
var WebSettings = plus.android.importClass("android.webkit.WebSettings");
var wv = plus.android.currentWebview();
var setting = plus.android.invoke(wv, "getSettings");
console.log(setting)

//支持缩放
setting.setSupportZoom(true);
setting.setBuiltInZoomControls(true)
//隐藏控件
setting.setDisplayZoomControls(false)

有人在h5+社区里问怎么获取安卓里的WebSettings ,以下就是打印的setting ,可以见到WebSettings 里面的方法都可以调用啦! 各位可以在文档中找到自己需要的:

WebSettings 官方文档:https://developer.android.com/reference/android/webkit/WebSettings.html#setBuiltInZoomControls

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 链接:https://www.jianshu.com/p/fd61e8f4049e 一、简介 这部分主要介绍下 W...
    柒黍阅读 1,917评论 0 4
  • WebView·开车指南 2016-08-31BugDev 北京市东城区首席Bug布道师开山之作,一整月交通事故血...
    53c021c38a1d阅读 863评论 0 1
  • Tips 由于WebView的用法实在太多,如果您只是想查询某个功能的使用——建议Ctrl+F(Commad+F)...
    BugDev阅读 7,822评论 11 109
  • 这篇博客主要来介绍 WebView 的相关使用方法,常见的几个漏洞,开发中可能遇到的坑和最后解决相应漏洞的源码,以...
    Shawn_Dut阅读 7,359评论 3 55
  • AndroidWebView 一、简介 WebView在Android平台上是一个特殊的View, 基于webki...
    斌林诚上阅读 1,978评论 0 5