cordova 禁用字体

53 阅读1分钟

最近在用vue+cordova做一个app,前期一直在PC上看效果,今天试着打包成了app,想看看在手机上运行的效果。结果发现和预期的效果不一样,很多布局有一些错位。可是明明我在PC上调试的时候,有切换不同型号的手机看效果的,都没有问题,排版和布局也都是用的rem,按道理应该显示效果不会出现那么大的纰漏的。

进排查发现,出问题的手机都手动修改过手机字体大小。如果我将手机字体大小改为标准的,则显示效果就正常了。

解决方案

  1. 通知用户不能修改手机字体,只能使用默认字体(体验感差)
  2. 禁止用户修改的字体影响app(方便快捷)
  3. 针对不同的字体提供兼容性(耗时长,成本高,体验感好)

针对以上三种方案,我们结合实际情况考虑使用第二种方案。在成本内牺牲部分用户体验。禁用方法如下:

新增如下代码:

// platforms\android\CordovaLib\src\org\apache\cordova\engine\SystemWebViewEngine.java
webView.getSettings().setTextZoom(100);

image.png