React Native
React Native에서 Custom Font 적용하기
Kir93
2021. 7. 29. 14:54
728x90
반응형
해당 글은 일반 CLI를 이용해 생성된 프로젝트에서는 안 되며, Expo나 Expo를 Eject한 프로젝트에서만 적용되는 방법입니다.
먼저 사용하려는 Font의 종류에 따라 설명하자면, google-font의 경우 expo-google-font를 이용하여 가장 손쉽게 사용할 수 있다.
나는 내가 가장 많이 사용하는 Noto Sans KR을 기준으로 설명하겠다.
expo install @expo-google-fonts/noto-sans-kr expo-font expo-app-loading
import React from 'react';
import { Text, View } from 'react-native';
import {
useFonts,
NotoSansKR_100Thin,
NotoSansKR_300Light,
NotoSansKR_400Regular,
NotoSansKR_500Medium,
NotoSansKR_700Bold,
NotoSansKR_900Black,
} from '@expo-google-fonts/noto-sans-kr';
export default () => {
let [fontsLoaded] = useFonts({
NotoSansKR_100Thin,
NotoSansKR_300Light,
NotoSansKR_400Regular,
NotoSansKR_500Medium,
NotoSansKR_700Bold,
NotoSansKR_900Black,
});
if (!fontsLoaded) {
return null;
} else {
return (
<View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
<Text
style={{
fontSize:24,
fontFamily: 'NotoSansKR_100Thin',
}}>
Noto Sans KR Thin
</Text>
</View>
);
}
};
해당 종속성 들을 다운 받은 뒤 아래와 같이 font를 불러와 주고 font를 불러오는 동안 loading을 걸어주는 걸로 간단하게 끝이 난다.
다음은 google-font가 아닌 font를 이용할 때 방법이다.
expo install expo-font expo-app-loading
import React from 'react';
import { Text, View } from 'react-native';
import AppLoading from 'expo-app-loading';
import { useFonts } from 'expo-font';
export default props => {
let [fontsLoaded] = useFonts({
'Inter-Black': require('./assets/fonts/Inter-Black.otf'),
});
if (!fontsLoaded) {
return <AppLoading />;
} else {
return (
<View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
<Text style={{ fontFamily: 'Inter-Black', fontSize: 40 }}>Inter Black</Text>
<Text style={{ fontSize: 40 }}>Platform Default</Text>
</View>
);
}
};
위와 같이 font를 다운받아 준비한 뒤 해당 font를 expo-font의 useFonts를 이용하여 불러와 사용한다.
반응형