一文解决RN0.58部分安卓手机text显示不全问题

简介: 一文解决RN0.58部分安卓手机text显示不全问题

最近项目开发中遇到一个Android的适配问题,同事的红米手机K20pro上项目App中部分页面上的文本显示不全,比如下面这样微信图片_20220610112558.png同事的手机升级到了最新的miui12, 默认的手机字体是小米兰亭pro,正好我这边有个小米8的测试机,前两天也升级到了最新的MIUI12系统,同样的页面在小米8上显示正常。

遇到这种问题确实让人头大,怎么办?搞呗。


在GitHub上react-native项目中搜索相关问题,下面是就是对相关问题的讨论issues,感兴趣的朋友可以去看看。Github相关问题:issues,发现不只是部分小米手机会出现此问题, 部分oppo,one plus, lG, 三星及google手机上也会出现类似问题。


解决方案:


1.文字末尾添加空格


Example: {empIDText + " "}
before it was like: {empIDText}

2.设置text组件的fontFamily


<Text style={{fontFamily: ""}}>

3. 设置text组件的textBreakStrategy


有关textBreakStrategy的('simple', 'highQuality', 'balanced')的不同之处,可以参考stack overflow上的问题:What is the difference between simple, highQuality, balanced for textBreakStrategy property in React Native?

<Text key={node.key} textBreakStrategy="simple">{node.content}</Text>

4.全局设置text组件的fontFamily


import React, { Component } from 'react';
import { View, Platform, Text } from 'react-native';
const defaultFontFamily = {
    ...Platform.select({
        android: { fontFamily: '' }
    })
};
const oldRender = Text.render;
Text.render = function(...args) {
    const origin = oldRender.call(this, ...args);
    return React.cloneElement(origin, {
        style: [defaultFontFamily, origin.props.style]
    });
};

通过改写覆盖 Text 组件 的 render,实现修改字体全局配置,代码放到入口文件,比如 app.js 里面就可以了。


这种方案会全局改掉字体,覆盖系统默认字体,这样不会覆盖默认字体,出问题的 Text 组件也可以显示正常~

总结,前3中方案需要在每个出问题的 Text 组件设置,如果比较多,就不是很灵活,也比较繁琐;第3中方案就可以一劳永逸的解决这个问题了。

目录
相关文章
|
4月前
|
传感器 API Android开发
雷电模拟器防检测工具, 模拟器防检测 伪装手机,安卓模拟器防检测工具
硬件特征检测通过CPUID指令和显卡信息判断虚拟环境110 系统环境检测通过查找模拟器特有文件和进程112
|
4月前
|
API Android开发 数据安全/隐私保护
手机虚拟视频替换摄像头,虚拟摄像头手机版,安卓免root虚拟摄像头【python】
这个实现包含四个主要模块:虚拟摄像头核心功能、视频源管理、视频特效处理和主应用界面
|
4月前
|
Android开发 数据安全/隐私保护
手机微信虚拟视频聊天,安卓免root虚拟摄像头,免root虚拟hook相机
以上代码实现了一个完整的免root虚拟摄像头方案,通过Hook系统摄像头服务和微信视频通话接口
|
4月前
|
Android开发 数据安全/隐私保护
安卓手机修改设备id, 安卓硬改一键新机,手机机型修改(伪装)
提供了完整的设备信息修改功能,包含设备模板配置、基础信息修改、网络信息修改、模拟器检测绕
|
3月前
|
机器学习/深度学习 Android开发 数据安全/隐私保护
手机脚本录制器, 脚本录制器安卓,识图识色屏幕点击器【autojs】
完整的UI界面,包含录制控制按钮和状态显示 屏幕点击动作录制功能,记录点击坐标和时间间隔
|
4月前
|
存储 人工智能 文字识别
三款安卓手机word编辑器下载,Microsoft Word,wps office,Word手机版,手机word编辑查看阅读器,PDF转换器apk下载
WPS Office是一款功能强大的办公软件,支持文档编辑、表格处理和演示文稿制作,兼容多种格式并提供丰富的云服务。它具备低内存占用、快速运行的特点,支持跨设备同步与多人协作,内置海量模板及AI辅助功能,如智能写作和PPT自动生成。此外,还可扫描文件、编辑PDF并转换为其他格式,极大提升办公效率,适合手机用户便捷操作。
419 1
|
5月前
|
Android开发
安卓硬改一键新机工具,一键修改手机型号,串号网卡Imei、sn码【仅供学习参考】
声明部分:仅供学习参考使用,基于Xposed框架实现的设备信息伪装模块的完整代码,包含多个功能模块:
|
4月前
|
API Android开发 数据安全/隐私保护
|
4月前
|
API 开发工具 Android开发
qq虚拟视频插件下载安装手机版, 安卓虚拟视频插件,替换摄像头工具
Xposed入口模块:拦截目标应用的相机调用‌23 Camera1 API处理:通过PreviewCallback替换视频流‌1 Camera2 API适
|
5月前
|
存储 JSON API
安卓ck提取工具,可提取手机cookie插件,AUTOJS即可实现
怎么用autojs提取手机端的CK?其实autojs是支持提取ck的但是他提取的不是浏览器的CK,二十他自身浏览器环境的c

热门文章

最新文章

下一篇
oss云网关配置