React Native自定义字体在IOS上工作但在Android上没有

时间:2018-03-26 20:27:50

标签: android react-native fonts

我已按照react-native link程序添加了Google Font Fira Sans字体(斜体,粗体,常规)。

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

字体在IOS上运行正常,但在Android上只有Bold有效,但Italic或Regular或任何其他字体无效。

我试图将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"
}

任何想法可能出错?

谢谢

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

对于遇到相同问题的人,请确保您未对textStyle应用任何这些(fontWeightfontStyle)样式,如果这样做,则会从您的自定义字体样式中删除文字。