React Native 自定义字体适用于 IOS,但不适用于 Android

bec*_*kas 5 fonts android react-native

我按照以下步骤添加了 Google Font Fira Sans 字体(斜体、粗体、常规)react-native link

我可以看到字体已被复制到src/main/assets/fonts,同样在ResourcesIOS 文件夹中

这些字体在 IOS 上工作正常,但在 Android 上只有粗体可以工作,而斜体、常规或任何其他字体则不起作用。

我尝试将 设定fontFamily为字体的 name 属性,但仍然没有变化

这就是我设置字体变量的方式

export const Fonts = {
    //Working on IOS but not on Android
    //I have tried `FiraSans-Italic` `Fira Sans Italic` and nothing works
    FiraSansItalic: (Platform.OS === 'ios') ? "FiraSans-Italic" : 'Fira Sans Italic',

    //Bold works fine for both platforms
    FiraSansBold: (Platform.OS === 'ios') ? "FiraSans-Bold" : "FiraSans-Bold"
}
Run Code Online (Sandbox Code Playgroud)

有什么想法可能是错的吗?

谢谢

Bru*_*Lin 1

检查 Android 的文件名,android 需要引用文件名而不是字体系列名称。另请确保key为您的 text/textInput 组件设置 a ,以使自定义字体在更改为新字体后正确呈现。(如果您不这样做,Android 可能仍会呈现旧字体)