如何更改react-native中的默认fontFamily

时间:2016-05-17 09:05:03

标签: android ios reactjs react-native

我可以在我的应用中设置默认的fontFamily(iOS和Android)吗?

我不想在每个屏幕中设置它。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

这样做的唯一方法是从本机方面来看。见这里:

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>
);