Android react-native 应用程序不拾取字体

标签 android ios reactjs fonts react-native

我正在尝试在我的 react-native 应用程序中使用字体“Verveine Corp Regular”。

该字体适用于 iOS 版本,但不适用于 Android 版本。

字体为 .tff 格式并放置在我工作的根目录中(链接在 package.json 中并且我已经运行了 react-native 链接)和“android/gradle/src/main/assets/fonts”中但它仍然没有选择字体。我还多次清理并重建了该应用程序。

在 android 调试器中检查使用该字体的元素时,它说它正在使用该字体。但是字体还是默认字体。

有人可以就此问题提供一些帮助或指导吗?

谢谢!

最佳答案

其他答案帮助我完成了这项工作,谢谢。只有当文件名中的字体包含大写字母时,才可能需要此操作。更完整的答案:

在react native中正常添加字体,例如:

{react-native-project}/fonts/GovtAgentBB.ttf

运行react-native link,这会将字体放入

{react-native-project}/android/app/src/main/assets/fonts/GovtAgentBB.ttf

{react-native-project}/android/app/src/main/assets/fonts/GovtAgentBB_ital.ttf

但是android,带来机器人而不是人类,不喜欢这样。因此,在变体之前使用所有小写字母和下划线重命名文件,例如:

{react-native-project}/android/app/src/main/assets/fonts/govtagentbb.ttf

{react-native-project}/android/app/src/main/assets/fonts/govtagentbb_ital.ttf

然后,您必须根据平台更改样式中的字体名称。对于 iOS,使用人名,即显示在 Mac 字体菜单窗口标题中的字体名称(或您在 Web 上看到的名称)。对于 Android,您必须自动使用刚刚重命名的文件的名称。

      {Platform.OS === 'ios' ? (
        <Text style={styles.welcome}>
          Hello World!
        </Text>
      ) : (
        <Text style={styles.welcomeAndroid}>
          Hello World
        </Text>
      )}
      const styles = StyleSheet.create({
      ...
      welcome: {
          fontFamily: 'Government Agent BB',
      },
      welcomeAndroid: {
          fontFamily: 'govtagentbb',
      },

关于Android react-native 应用程序不拾取字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42555315/

相关文章:

android - 如何将Paho-MQTT添加到android studio

android - 尽管启用了on_pause功能,但应用程序在屏幕锁上崩溃

android - 我在 Logcat 中没有 "Application"字段

ios icloud 在设备中以编程方式设置开/关

ios - 使用接触框架的ABNewPersonViewController

android - 使用 OCR 识别 'text size' 和 'text font'

ios - 处理自定义 TableViewCell(在 .xib 中使用自动布局创建)的选择

javascript - 在React中显示数组数据onclick

reactjs - 如何从使用 webpack 创建的不同包中导入

javascript - 具有多个嵌套元素的按钮未在reactjs中返回正确的目标