如何在不使用任何第三方库的情况下使用Font Awesome进行反应原生项目?

man*_*nas 8 android font-awesome react-native

我想在我的react-native项目中使用Font Awesome图标来安装android.

我想手动完成而不使用任何第三方库react-native-vector-icons或其他人.

man*_*nas 22

我正在为android和ios回答它

下载字体awesome zip解压缩文件复制fontawesome-webfont.ttf文件

  1. 项目目录中的make / assets/fonts /目录

  2. fontawesome-webfont.ttf粘贴 到/ assets/fonts /

  3. 将文件重命名为fontawesome.ttf

  4. "rnpm": { "assets": [ "./assets/fonts/" ] }像这样 进入你的package.json文件的末尾

在此输入图像描述

  1. react-native link命令运行到项目目录中的终端

看到像这样的reslut

rnpm-install info Linking assets to ios project
rnpm-install info Linking assets to android project
rnpm-install info Assets have been successfully linked to your project
Run Code Online (Sandbox Code Playgroud)
  1. 确保react-native run-android在成功链接后再次运行命令

fontawesome cheatsheet

仅复制要应用于文本视图的图标的字符代码并粘贴它

<Text style={{ fontFamily: 'fontawesome', fontSize: 20 }}>&#xf0a9;</Text>
Run Code Online (Sandbox Code Playgroud)

适用风格 fontFamily: 'fontawesome'

类似地,你可以为其他矢量图标字体,如离子

和其他没有使用第三方库的人 react-native-vector-icons

  • 我已经像你在这里描述的那样导入了FontAwesome,但它只显示了所有免费图标的一半.这是正常的还是我做错了什么? (2认同)

Ser*_*ice 5

这有点旧,但仍然.如果您使用Create React Native App,我认为这是最简单的方法.下载字体并将其放入"projectfolder/assets/fonts /"目录.我将其重命名为'fontawesome.ttf'.

之后,如果您还没有安装expo软件包,则需要安装它.

npm install --save expo
Run Code Online (Sandbox Code Playgroud)

并将以下行添加到索引(App.js)文件中.

首先:

import { Font } from 'expo';
Run Code Online (Sandbox Code Playgroud)

然后加载字体.此代码包含在您的App组件中:

componentDidMount() {
  Font.loadAsync({
    'Font Awesome': require('./assets/fonts/fontawesome.ttf')
  });
}
Run Code Online (Sandbox Code Playgroud)

为了确保你做的一切都好:

<Text style={{ fontFamily: 'Font Awesome', fontSize: 20 }}>&#xf164;</Text>
Run Code Online (Sandbox Code Playgroud)

这些是原始说明.

我只是想在不访问链接的情况下使其可见.

  • 您在答案中建议的软件包在引擎盖下做同样的事情**使用Font Awesome图标,这是一种字体,别无其他**。因此,如果您想将“真棒字体”图标添加到您的网站/应用程序,则将其添加为字体。 (2认同)