了解如何在反应原生

时间:2017-01-14 14:22:27

标签: fonts react-native shoutem

我正在努力了解反应原生中字体与字体系列的理解。我在shoutem / ui库和exponentjs框架之间发现了一个错误,其中shoutem / ui已将TextInput的样式设置为Rubik。但是,exponentjs项目单独加载每个Rubik字体并需要引用特定的Rubik字体或权重,例如Rubik-Regular

https://github.com/shoutem/ui/blob/develop/theme.js

https://github.com/exponent/shoutem-example

我不明白的是:在默认的react-native字体实现中是否存在默认魔法,它会理解所有这些Rubik字体都是字体系列的一部分,并将整个字体设置为Rubik并且当文本被设置为粗体时,根据需要显示粗体,斜体等?这是否意味着Exponent没有实现这种字体聚合功能,将所有这些字体聚合到一个命名的字体系列组中?

或者...

通过引用应用程序中不存在的字体,shoutem库是否出错?

指数应用程序如何加载shoutem库使用的所有字体:

 {'Rubik-Black': require('./node_modules/@shoutem/ui/fonts/Rubik-Black.ttf')},
  {'Rubik-BlackItalic': require('./node_modules/@shoutem/ui/fonts/Rubik-BlackItalic.ttf')},
  {'Rubik-Bold': require('./node_modules/@shoutem/ui/fonts/Rubik-Bold.ttf')},
  {'Rubik-BoldItalic': require('./node_modules/@shoutem/ui/fonts/Rubik-BoldItalic.ttf')},
  {'Rubik-Italic': require('./node_modules/@shoutem/ui/fonts/Rubik-Italic.ttf')},
  {'Rubik-Light': require('./node_modules/@shoutem/ui/fonts/Rubik-Light.ttf')},
  {'Rubik-LightItalic': require('./node_modules/@shoutem/ui/fonts/Rubik-LightItalic.ttf')},
  {'Rubik-Medium': require('./node_modules/@shoutem/ui/fonts/Rubik-Medium.ttf')},
  {'Rubik-MediumItalic': require('./node_modules/@shoutem/ui/fonts/Rubik-MediumItalic.ttf')},
  {'Rubik-Regular': require('./node_modules/@shoutem/ui/fonts/Rubik-Regular.ttf')},
  {'Rubik': require('./node_modules/@shoutem/ui/fonts/Rubik-Regular.ttf')},
  {'rubicon-icon-font': require('./node_modules/@shoutem/ui/fonts/rubicon-icon-font.ttf')},

  ...    using Exponent.Font.loadAsync(font)

1 个答案:

答案 0 :(得分:0)

您似乎在使用Shoutem UI时遇到问题,因为您将其与Expo一起使用,因为它限制了您可以使用的原生功能。

以下是您需要做些什么才能使其发挥作用的示例:https://github.com/shoutem/ui/tree/develop/examples/create-react-native-app