React-native 添加自定义字体

1.项目根目录下新建文件夹assets/fonts 并拷贝otf/ttf字体文件到目录下


2.ios端

    (1)addFile assets 到工程

    (2)工程中info.plist中添加

UIAppFonts

锐字真言体.ttf

效果如下:


设置infoplist效果

设置后的验证可以通过


- (void)testFont {

  NSIntegertotalCount =0;

    for(NSString*familyNamein[UIFontfamilyNames]) {

      NSArray*familyNameArr = [UIFontfontNamesForFamilyName:familyName];

      NSLog(@"familyName:%@  count=%ld", familyName,[familyNameArrcount]);

      NSIntegertempCount = [familyNameArrcount];

      totalCount += tempCount;

      for(NSString*fontNameinfamilyNameArr) {

        NSLog(@"++++    %@", fontName);

      }

    }

    NSLog(@"totalCount=%ld",totalCount);

}

查看字体是否引入过

一般字体的名称可以通过如下点击ttf文件直接获取到 如果是中文则需要查看family列表 或从下载的地方找出


查看字体名称

3.安卓端

(1)在 app/build.gradle 中配置 assets/ 的来源:

P.S.: 注意自己之前的 assets/ 来源。我之前是特地配置过的。所以直接加红框字体即可。

到这里,android 的引入就完成了。构建 android 包之后,可以使用 fontFamily 了~

(2)如果按照上面的方法不行 直接复制字体到android/app/src/main/assets/fonts目录下

遇到的问题:

如果是中文名称字体:使用的时候安卓端需要使用字体的中文名称:

例如:fontFamily: Platform.OS ==='ios' ?'ZhenyanGB-Regular' :'锐字真言体',

否则安卓端无效

你可能感兴趣的:(React-native 添加自定义字体)