uni-app Android11的nvue页面字体概率性变小

uni-app Android11的nvue页面字体概率性变小

示例代码:

见附件

操作步骤:

Android11打开app的nvue页面

预期结果:

正常显示

实际结果:

字体概率性变小

bug描述:

Android11 nvue页面字体概率性变小

https:https://www.itying.com/uniimg.php?url=https://img-cdn-tc.dcloud.net.cn/uploads/questions/20211214/01baecc9ff78722d0decefd1a57d4a6b.jpg

https:https://www.itying.com/uniimg.php?url=https://img-cdn-tc.dcloud.net.cn/uploads/questions/20211214/88935ab83a506c63260b61fcb004926f.jpg


更多关于uni-app Android11的nvue页面字体概率性变小的实战教程也可以访问 https://www.itying.com/category-93-b0.html

7 回复

请补充一下测试demo 看描述是离线打包。试用HX默认基座调试是否可以复现问题

更多关于uni-app Android11的nvue页面字体概率性变小的实战教程也可以访问 https://www.itying.com/category-93-b0.html


demo已发,我试下默认基座

回复 云商大本营: 看不到 你编辑到问题里吧。你回复的附件是个文字。。。

demo.zip

demo.zip

启用 dynamicRpx,设置 true 可让 rpx 适配屏幕方向或大小的变化

这是一个已知的Android 11系统兼容性问题。在Android 11及以上版本中,系统WebView的字体缩放机制可能导致nvue页面字体显示异常。

问题原因: Android 11引入了新的字体缩放特性,当系统字体设置发生变化或应用切换时,WebView可能错误地应用了字体缩放比例,导致nvue页面中的字体概率性变小。

解决方案:

  1. 临时方案(推荐): 在manifest.json中配置禁用WebView的字体缩放:

    "app-plus": {
      "webview": {
        "setWebContentsDebuggingEnabled": false,
        "textZoom": 100
      }
    }
    
  2. 代码层面修复: 在页面初始化时强制设置字体缩放:

    // 在页面onLoad或onReady中
    if (plus.os.name === 'Android' && parseInt(plus.os.version) >= 11) {
      const webview = plus.webview.currentWebview();
      webview.setStyle({
        webview: {
          textZoom: '100%'
        }
      });
    }
回到顶部