我正在努力了解反应原生中字体与字体系列的理解。我在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)
答案 0 :(得分:0)
您似乎在使用Shoutem UI时遇到问题,因为您将其与Expo一起使用,因为它限制了您可以使用的原生功能。
以下是您需要做些什么才能使其发挥作用的示例:https://github.com/shoutem/ui/tree/develop/examples/create-react-native-app