【发布时间】:2016-05-17 09:05:02
【问题描述】:
我可以在我的应用(iOS 和 Android)中设置默认 fontFamily 吗?
我不想在每个屏幕中都设置它。
有什么想法吗?
【问题讨论】:
标签: android ios reactjs react-native
我可以在我的应用(iOS 和 Android)中设置默认 fontFamily 吗?
我不想在每个屏幕中都设置它。
有什么想法吗?
【问题讨论】:
标签: android ios reactjs react-native
做到这一点的唯一方法是从事物的本机方面。见这里:
Set a default font for whole iOS app?
和
Is it possible to set a custom font for entire of application?
虽然,如果您使用库 Cairn(免责声明:我写的),这很简单。只需定义您的全局文本样式并在任何地方扩展即可。 Cairn 使所有全局内容都可重用,同时不会破坏特定于组件的覆盖和扩展。
// styles.js
import { createStylesheet } from 'react-native';
import cairn from 'cairn';
export default cairn({
text: {
fontFamily: '...'
}
}, (styles) => createStylesheet(styles));
然后在您的组件中扩展这些全局样式并应用到您的文本元素:
// components/MyComponent.js
import styleContext from '../styles';
const style = styleContext.extend({
'text.header': {
fontSize: 30
}
});
export default const MyComponent = () => (
// Spreads style={[styleContext.text, style['text.header']]}
<Text {...style('text.header')}>Header!</Text>
);
【讨论】: