【问题标题】:How to dynamically change font family based on different languages using react-native如何使用 react-native 根据不同语言动态更改字体系列
【发布时间】:2020-05-04 23:10:46
【问题描述】:
我正在使用 react-native 开发一个移动应用程序。该应用程序需要处理多种语言(英语和僧伽罗语)。部分手机支持僧伽罗字体并正确显示。但有些不支持僧伽罗语。为此,我想使用应用程序中的字体文件夹加载字体。
我将字体文件夹添加到应用程序并使用 react-native 链接链接它们。但是字体没有正确加载。
- 我想知道如何将自定义字体加载到 react-native
- 当用户更改语言时如何动态加载字体系列
【问题讨论】:
标签:
css
reactjs
react-native
【解决方案1】:
我可能有点晚了,但我找到了这个解决方案,您可以使用它来根据语言动态更改字体。
1.
import NativeModules from 'react-native'
2.
然后在用户更改设备区域设置时使用此内联 if 来更改语言。
fontFamily: ((NativeModules.I18nManager.localeIdentifier == 'az_AZ') ? 'Alice' : 'DesirasNonCommercial')
如果你有两种以上的语言,你可以创建一个模块并实现一个函数来检查语言环境并返回相应的字体。然后您可以简单地使用 fontFamily 中的返回值。
另外如果你有手动切换语言的按钮,可以修改上面的函数,添加事件监听器,在触发切换语言按钮时返回相应的fontFamily。