FRONTEND/ReactNative
[전기차 충전소 찾기 앱/ReactNative] 커스텀 폰트 적용하기
죠으닝
2024. 2. 6. 09:38
https://blog.naver.com/drv983/223316019428
커스텀 폰트
https://docs.expo.dev/versions/latest/sdk/font/ https://docs.expo.dev/versions/latest/sdk/splash-scr...
blog.naver.com
https://docs.expo.dev/versions/latest/sdk/splash-screen/
SplashScreen
A library that provides access to controlling the visibility behavior of native splash screen.
docs.expo.dev
font와 splashScreen을 설치한다.
splashScreen은 로딩 시 나타나는 페이지
폰트를 다운받는다.
https://noonnu.cc/font_page/694
눈누
프리텐다드 - 길형진 (orioncactus)
noonnu.cc
다운로드 받은 압축 파일을 푼다.
public -> static
assets 폴더 내에 fonts 폴더를 만들어서 다운로드 받은 폰트들을 다 붙여넣기함
위에서 폰트 3개만 가져와서 사용한다.
import { StatusBar } from "expo-status-bar";
import { StyleSheet, Text, View } from "react-native";
import { useFonts } from "expo-font";
import { useCallback } from "react";
import * as SplashScreen from "expo-splash-screen";
SplashScreen.preventAutoHideAsync();
export default function App() {
const [fontsLoaded] = useFonts({
"Pretend-Regular": require("./assets/fonts/Pretendard-Regular.otf"),
"Pretend-Medium": require("./assets/fonts/Pretendard-Medium.otf"),
"Pretend-Bold": require("./assets/fonts/Pretendard-Bold.otf"),
});
const onLayoutRootView = useCallback(async () => {
if (fontsLoaded || fontError) {
await SplashScreen.hideAsync();
}
}, [fontsLoaded]);
if (!fontsLoaded) {
return null;
}
return (
<View style={styles.container} onLayout={onLayoutRootView}>
<Text style={{ fontSize: 30 }}>프리텐디드 폰트</Text>
<Text style={{ fontFamily: "Pretend-Regular", fontSize: 30 }}>
세상에 이런 폰트가!
</Text>
<StatusBar style="auto" />
</View>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: "#fff",
alignItems: "center",
justifyContent: "center",
},
});