Робота зі шрифтами
У Expo для підключення шрифтів використовується спеціальний модуль Expo Font. Спочатку його потрібно встановити, запустивши в терміналі такий рядок.
npx expo install expo-fontВиберіть у своєму проекті якусь папку для зберігання усіх шрифтів. Наприклад: assets/fonts. У розробці підтримуються лише два формати шрифтів із розширеннями .tiff та .otf. Щоб працювати з іншими форматами потрібні додаткові налаштування. Загальнодоступні безкоштовні шрифти можна завантажити наприклад на платфомі Google Fonts.
Щоб застосувати шрифти потрібно спочатку заімпортувати хук useFont з модуля expo-font, а потім приєднати шрифти, які будете застосовувати в проекті.
Після цього шрифт можна застосувати у проекті в стилі компонента Text у властивості fontFamily.
import { Text, View } from "react-native";
import { useFonts } from "expo-font";
export default function App() {
const [fontsLoaded] = useFonts({
"Roboto-Regular": require("./assets/fonts/Roboto/Roboto-Regular.ttf"),
"Roboto-Bold": require("./assets/fonts/Roboto/Roboto-Bold.ttf"),
});
return (
<View style={styles.container}>
<Text style={{ fontFamily: "Roboto-Regular", fontSize: 25 }}>
Roboto-Regular
</Text>
<Text style={{ fontFamily: "Roboto-Bold", fontSize: 35 }}>
Roboto-Bold
</Text>
</View>
);
}Додамо функціонал, щоб верстка застосунку не відображалася поки не завантажаться шрифти повністю. (Принагідно винесемо стилі в таблицю стилів).
Давайте винесемо стилізацію в окремий файл styles.js і там застосуємо шрифти, в App.js приєднаємо шрифти, а застосуємо стилі до окремого компонента TestText.jsx. Для більшої виразності і очевидності різниці шрифтів приєднаємо шрифт Kablammo-Regular. На цей момент структура проекту матиме такий вигляд:
Посилання на офіційну документацію:
Last updated