子贤的独立博客 子贤的独立博客
  • 首页
  • 编程
  • 视频
    • 哔哩哔哩
    • 斗鱼TV
    • VLOG
  • 社交媒体
    • 新浪微博
  • 专题
首页 › 编程 › Cordova构建Android应用避免系统设置的字体大小影响

Cordova构建Android应用避免系统设置的字体大小影响

James
6年前编程阅读 3,401

前言

这次再记录个在使用Cordova时遇到的bug,主要是针对Android端的,如果用户在系统的设置里,设置了特别的字体大小时,界面排版什么的就会随着出现很多无法预料的问题!

引起原因

还记得我遇到这问题时是有点懵b的,因为在google的控制台调试并没出现这种问题,讲道理我也不会犯这么大的错误呀,为啥一到手机上就变成这鬼样…当时适配移动端还是用着rem那套,所以应该也不会有这种问题。

Cordova构建Android应用避免系统设置的字体大小影响-子贤的独立博客

后来测试的同事手机我随便看了下其他应用还有系统界面,发现他手机大部分字体界面都比平常的大,原来他设置了系统字体大小!具体设置界面android都大同小异如下:

Cordova构建Android应用避免系统设置的字体大小影响-子贤的独立博客

所以万一用户是老年群体或者近视群体,或多或少都会设置字体大小来达到正常使用,所以这个问题必须想办法解决!

解决方案

所以怎么解决这个问题呢,度娘上就看到了类似的问题,有android原生大佬就提出了修改cordova底层工程文件的一个办法:

Cordova构建Android应用避免系统设置的字体大小影响-子贤的独立博客
<!--source code-->
webView.getSettings().setTextZoom(100);

1、找到corodva工程下的视图引擎文件(SystemWebViewEngine.java):

具体目录在:

当前版本:cordova 8.0
/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebViewEngine.java

2、在initWebViewSettings方法增加对settings变量的参数修改:

Cordova构建Android应用避免系统设置的字体大小影响-子贤的独立博客
<!--source code-->
settings.setTextZoom(100);

ok至此,简单的修改然后保存,重新编译构建app,真机上修改系统设置的字体大小已经无法对app造成影响。

总结

这个问题对于我这个前端菜b来说的确有点摸不着头脑,毕竟也没有太多原生安卓的知识经验,不过还好有大佬分享出解决的办法,不过这是刚接触cordova时遇到的问题,现在记录起来以防自己忘记,毕竟我感觉我的记性还是很差的…

Cordova构建Android应用避免系统设置的字体大小影响-子贤的独立博客
Cordova
赞赏 赞(2)
vue-router使用go(-1)返回时发生的诡异现象
上一篇
记IOS构建运行时遇到A valid provisioning profile for this executable was not found
下一篇
再想想
暂无评论

Recent Posts

  • React Native 多语言国际化
  • React Native 设置文件路径别名
  • 不要笑大挑战 | 两个憨憨 | 达达倾情出演
  • 黄埔古港 | “哥哥影你啊” | 随剪短片
  • 参观省博物馆 | 展品片段随剪

Recent Comments

  1. SuperMan发表在React Native 多语言国际化
React Native 多语言国际化
5年前
7,374 1 10
React Native 设置文件路径别名
5年前
3,243 0 1
解决charles模拟localhost请求无效问题
6年前
3,585 0 0
Cordova构建IOS应用适配iPhone X
6年前
2,594 0 0
2
  • 2
  • 0
Copyright © 2019-2025 子贤的独立博客. Designed by nicetheme.
粤ICP备19162060号
  • 首页
  • 编程
  • 视频
    • 哔哩哔哩
    • 斗鱼TV
    • VLOG
  • 社交媒体
    • 新浪微博
  • 专题
# Vlog # # Cordova # # ETH # # Css # # Android #
James
32
文章
0
评论
35
喜欢