React 本机自定义字体在 android 中不起作用

React native Custom font is not working in android

我已按照所有步骤在我的 React Native 应用程序中添加和使用自定义字体,但它不起作用。以下是我所关注的内容。

  1. 在根目录下添加了assets/fonts并添加了ttf字体

Pic here

  1. 创建了 react-native.config.js 并添加了以下代码

    module.exports = { 资产:['./assets/fonts'] }

  2. 一些消息来源说要在 package.json 中添加以下内容。也添加了它

    “rnpm”:{ "资产": ["./assets/fonts"] }

  3. 现在,在我的组件中,我为字体系列样式使用了相同的 ttf 名称。

    style= {styles.textStyles}

    const styles = StyleSheet.create({ textStyles : { fontFamily : 'Good Feeling Sans', fontSize : 20, fontWeight : 'bold', margin : 10 } })

  1. 运行“npx react-native link”并且 linked 成功

Linked Pic

7.Ran "npx react-native 运行-android" 并且我看到字体没有变化。 :( 知道为什么它不反映

只需转到 android 文件夹并创建 android/app/src/main/assets/fonts 在该文件夹中,只需删除您的自定义字体。

尝试在不使用 fontWeight 参数的情况下声明您的字体样式 ,因此请尝试将您的字体样式声明为:

const styles = StyleSheet.create({ 
      textStyles : { 
          fontFamily : 'Good Feeling Sans', 
          fontSize : 20, 
          margin : 10 
      } 
})

代替使用 fontWeight 进行操作,您可以为此使用特殊准备的字体(具有粗细变体的 ttf 文件)。但是如果你真的需要 fontWeight 你可以尝试用数字值声明它,例如:fontWeight:800

这是 fontWeight 我在以前版本的 React Native (< 0.60) 中注意到的问题,现在可能仍然存在。

确保您也将字体文件放在正确的文件夹中,您的应用程序可以访问该文件夹。在你的照片中,assets/fonts 放错地方了,我认为它应该放在 android/app/src/main/assets/fonts 文件夹下。

试试这个:

  1. 将字体文件名重命名为小写并从文件名中删除 -。
  2. 运行 npx react-native link
  3. 重启应用 npx react-native 运行-android