2017-05-04 102 views
4

我',m在我的反应本机应用程序中的文本作出一些更改:我需要指定段落的Roboto光和标题的Roboto Bold。 我需要在iOS和Android应用的文字相同的外观:所以我需要让两个 工作,我试过的代码字体家族Roboto光线和粗体反应原生

text : { fontFamily: 'sans-serif-light' },

这行代码,但我得到这个错误: enter image description here

我想这类型从官方文档和它的正常工作

title : { fontFamily: 'Cochin' },

- >所以我认为问题出在Roboto字体家族身上。任何帮助?

回答

6

要添加自定义字体到你的应用程序商店所有的ttf文件一个目录。 将以下代码添加到您的package.json文件中。

"rnpm": { "assets": [ "./fonts" // yours fonts directory ] }

然后运行react-native link 使用的字体使用相同的名称上在fontFamily的TTF文件。

+1

'react-native link' – stkvtflw

4

sans-serif-lightRoboto是仅限Android的字体。 iOS需要不同的字体。该库具有可用于iOS和Android的字体列表 - https://github.com/react-native-training/react-native-fonts

您可以使用Platform.select()针对不同的字体为每个OS:

title: { 
    ...Platform.select({ 
     ios: { fontFamily: 'Arial', }, 
     android: { fontFamily: 'Roboto' } 
    }) 
} 
+0

谢谢...所以,在iOS和Android上都没有办法使用它(因为我需要将两个应用程序看成相同的)..我读过某处,我可以手动添加它.ttf文件然后添加package.json,然后运行反应本地链接https://hiddentao.com/archives/2017/03/10/get-custom-fonts-working-in-react-native/ ..所以可能是一个办法 ? – user3521011

+0

是的,如果你想要使用相同的字体,你可以添加它,否则保留默认字体 – RRikesh