react native 添加自定义字体

来源:互联网 发布:域名主机购买多少钱 编辑:程序博客网 时间:2024/06/16 12:59

不可避免地,一款高颜值的App或多或少会使用自定义的字体,如何在React Native项目中添加自定义字体呢?答案还是相对简单的,几个命令行命令就能搞定


1.首先,确保字体格式是ttf格式的字体,并将自定义的字体整体存入项目文件夹中

比如新建个文件夹名为fonts放在根目录下

2.其次,修改项目文件夹的package.json文件,要类似于文件中键值的写法,

添加一行如下的json,要求是双引号严格的json

"rnpm": {   "assets": ["字体文件夹相对于项目文件夹根目录的路径"]}

注意,上一行的json要以英文逗号结尾,这一行的json一定不能以英文逗号结尾

关于路径,我使用的路径是

./fonts

点的意思是,当前文件夹,即与package.json同级的文件夹

3.随后,命令行进入项目文件夹根目录,运行如下命令

react-native link
如果package.json文件写对了,一定能够完成文件的链接

这个链接过程会自动将字体文件夹拷入安卓的资源文件夹中,修改ios项目的info.plist

完成链接字体文件后,就可以使用了,亲测有效


注意!!!

安卓下fontFamily样式属性直接填写字体的文件名称即可(不填写后缀)

然而ios下fontFamily要求使用字体家族名,这相当麻烦,没有文件名直观

,你可能需要使用font creator软件查看字体命名里的字体家族名,

然后在ios中使用它的家族名


因此,跨平台开发时,可以使用Platform.OS三元判断系统类型适配一个字体名,

或者将字体文件名称改成字体家族名(如果反向改字体家族名需要使用字体软件)


此外,注意字体的侵权问题,没有版权一旦上架就是侵权事实,

想改都来不及,小心成为被告,赔个十来万的也不是没发生过。


避免侵权可以更麻烦地服务端渲染需要用到字体成图片远程获取,就说用的是第三方的

字体转图片服务,具体是哪个第三方,就说是商业机密,字体公司也拿你没辙。