Expo 不会在 Android 上呈现斜体字体

问题描述 投票:0回答:1

我们在 Android 上加载自定义字体时遇到 2 个问题。

  1. 所有斜体版本都不起作用
  2. 黑色版本仅适用于重量
    950
    ,这是不允许的值。

enter image description here

这是使用:

"expo": "~51.0.8",
"expo-font": "~12.0.5",

在 app.json 上:

"plugins": [
  [
    "expo-font",
    {
      "fonts": [
        "./assets/fonts/Averta-Regular.otf",
        "./assets/fonts/Averta-RegularItalic.otf",
        "./assets/fonts/Averta-Semibold.otf",
        "./assets/fonts/Averta-SemiboldItalic.otf",
        "./assets/fonts/Averta-Black.otf",
        "./assets/fonts/Averta-BlackItalic.otf"
      ]
    }
  ]
],

然后部分代码是:

<Text
  style={{ fontFamily: "Averta-Black", fontWeight: 950, fontSize: 32 }}
>
  Averta Black 950
</Text>

<Text
  style={{
    fontFamily: "Averta-SemiboldItalic",
    fontWeight: 600,
    fontSize: 32,
    fontStyle: "italic",
  }}
>
  Averta Semibold Italic 600
</Text>

控制台上没有错误或警告,但字体无法按预期工作。 对我们可以尝试什么有什么建议吗?

android react-native expo
1个回答
0
投票

感谢所有这个问题 https://github.com/facebook/react-native/issues/42116

我们发现

fontWeight
fontStyle
导致了渲染错误。

我们使用完整的特定

fontFamily
,而不使用
fontWeight
fontStyle

示例代码变为:

<Text
  style={{ fontFamily: "Averta-Black", fontSize: 32 }}
>
  Averta Black 950
</Text>

<Text
  style={{
    fontFamily: "Averta-SemiboldItalic",
    fontSize: 32,
  }}
>
  Averta Semibold Italic 600
</Text>

对于我们真正的应用程序,我们使用了类似于此处解释的方法https://stackoverflow.com/a/55717885/3695939

© www.soinside.com 2019 - 2024. All rights reserved.