通过WebView向html页面注入js代码,实现WebView切换白昼模式/夜间模式

入职的第一天,项目遇到一些技术难题,负责人就说,你懂一些h5,你看看怎么解决webview白昼/夜间模式。然后查了一些资料,找了一些思路;总结下来;


场景:新闻类APP,通过WebView加载html页面,实现白昼/夜间模式。

思路:

方式一:如果html页面是自己写的,那么直接在h5中加入js代码(改变背景和字体颜色),然后用原生android调用js。即native和js互调;这个比较简单,实现代码网上一大堆;但是有个局限,用第三方的新闻类h5页面,没办法这么干;


方式二:通过WebView向html页面注入js代码;核心就在如何向h5页面注入js代码;这种方式既能满足自己的h5页面也能满足第三方的;

原理就是这样,我也废话,太浪费时间。直接上Demo,注释很全;
需要注意:Demo中

1.为自己写的一个html页面,2中的hello.png,是html页面加载的图片;html文件不需要生产R文件,所以应当放在assets目录下;

apk目录下有Demo的apk。


Demo下载地址

https://github.com/KernHu/Js2Theme

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

效果如视频:  哎,传不了视频。





  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值