字体重量问题 React Native

12

我目前遇到了字重问题。这是在我通过Xcode安装自定义字体之后出现的。我已经链接了一切,自定义字体也能够使用,但是我仍然看不到效果?

attrName: {
   color: '#000',
   fontWeight: '300' /* Normally this should work */
},

有其他人遇到过这个问题吗?需要尽快解决...

更新

发布后不久我解决了这个问题。如果您想要为文本元素使用不同的字体粗细,请确保在Xcode或Android Studio中导入您的字体的所有类型和粗细。一个字重或版本的字体是不够的...


我也遇到了类似的问题。fontWeight并没有像我预期的那样工作。比如说,在500以下它没有效果,而在600以上它会变粗。然而,我希望它是逐渐变化的。 - milkersarac
没错!但是为什么会发生这种情况呢?真的很烦人 xd - user3344460
2个回答

8

我面临着类似的问题。

  • react: 16.0.0-alpha.6
  • react-native: 0.44

fontWeight: '300' 在 IOS 上有效,但在 Android 上无效。我确定不想为我使用的每种字体都包含所有字重,这就是为什么我提出以下方法供那些仍在寻找解决方案的人使用:

// Style definition
const styles = StyleSheet.create({
    base: {
        fontFamily: 'Roboto',
    },
    light: {
        ...Platform.select({
            ios: {
                fontWeight: '300',
            },
            android: {
                // RN 0.44.0 bug: fontWeight 300 not linked to *Thin or *Light fonts yet...
                fontFamily: 'Roboto-Thin',
            },
        }),
    },
});

使用示例:

<Text style={styles.base}>Hello world</Text>
<Text style={[styles.base, styles.light]}>Hello light world</Text>

在未来的版本中,API很可能会修复这个问题,但是现在开发人员手头已经很忙了 :)


-3

我遇到了同样的问题,但是我意识到应该是 - fontWeight:'bold', 而不是 - fontweight:'bold',

唯一的区别是 w->W

有时候我们会得到错误的自动建议,特别是在处理很多不同语言的时候经常发生。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接