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

标签 android ios reactjs react-native

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

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

有什么想法吗?

最佳答案

做到这一点的唯一方法是从事物的 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>
);

关于android - 如何更改 react-native 中的默认 fontFamily,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37271689/

相关文章:

java - 如何测量 webview 消耗的内存量?

android - 如何从 url 链接(深层链接)重新打开(或恢复)先前启动的 Activity ?

ios - iphone 的电子邮件验证

ios - 在 iOS 中隐藏来自 Chrome 的操作扩展

javascript - 组件库的 webpack

reactjs - 用 Jest 模拟 React 自定义钩子(Hook)

ReactJS + 样式组件 + 伪类

java - Android不会在文本文件中写入新行

java - libGDX 移动 3D 模型

ios - 如何检测状态栏 iOS 13 上的触摸