react-native - React Native / Expo - 自定义字体不起作用
问题描述
我正在尝试在我的项目中使用 Lobster 字体,所以我:
将从谷歌字体下载的 .ttf 文件添加到 /assets/fonts 文件夹
-
module.exports = { project: { ios: {}, android: {}, }, assets: ['./assets/fonts/'], };
运行命令 react-native link -- 收到“成功资产已成功链接到您的项目”
- 在我的风格对象 - fontFamily: 'Lobster-Regular'
但仍然无法正常工作
解决方案
如果您使用的是世博会,在此步骤之后它应该可以工作:
第 1 步:将 Lobster-Regular.ttf 文件放入 ./assets/fonts
第 2 步:您的文件应与此类似:
import React, { Component } from 'react'
import { Text, View} from 'react-native'
import * as Font from 'expo-font';
export default class App extends Component {
constructor(){
super();
this.state = {
fontLoaded: false
};
}
async componentDidMount(){
await Font.loadAsync({
'Lobster-Regular': require('./assets/fonts/Lobster-Regular.ttf'),
});
this.setState({ fontLoaded: true});
}
render() {
return (
<View>
{this.state.fontLoaded ?
<Text style={{fontFamily: 'Lobster-Regular'}}>hello everyone</Text>
: <Text>not loaded</Text>
}
</View>
)
}
}
如果您使用的是裸 react-native 并且链接不起作用,那么您应该手动进行。
对于安卓:
在您的 android/app/src/main 文件夹结构中,您将创建一个assets
文件夹,其中包含该fonts
文件夹。在字体文件夹中,您将把字体文件放在这里。
对于 iOS,步骤有点长,您可以关注此博客
推荐阅读
- c - 如何使用 fgets 从文本文件打印到二维数组?
- angular - 如何从 Angular 11 降级到 Angular 9?
- python - 使用 Python 的斐波那契数列
- java - StepsDefinition 之外的自动装配在 Cucumber 测试中为空
- function - 为什么 BLAS SAXPY 更新输入/输出向量 Y?
- r - 循环遍历 R 中的数量级
- python - 从 setup.py 运行所需的 .msi 安装程序,以便使用 pip install 运行
- reactjs - 如何在 React 中迭代类变量?
- scala - 使用scala或spark sql从spark中第二个表中不存在的第一个表中选择值
- html - 如何将图像定位在作为 flex 子项的文本的右侧