Rehber React Native ile geliştirilen projelerde üçüncü parti font ekleme

  • Konuyu başlatan Konuyu başlatan 001
  • Başlangıç Tarihi Başlangıç Tarihi
  • Mesaj Mesaj 3
  • Görüntüleme Görüntüleme 486
  • Etiketler Etiketler
    react

Konu Başlıkları Gizle

  1. 1 Fontların kullanımı
React Native ile uygulama geliştirmeyi öğreniyorum ve bu problem karşıma çıktı. Aslında basit bir olay fakat benim gibi yeni öğrenenler için işler React gibi olmadığı için biraz zorlayıcı olabiliyor. Bu makaleyi hem bana gelecekte lazım olursa hem de yeni başlayan ve aynı sorun için çözüm arayışında olanlar için yazıyorum.

Öncelikle font işleri React'tan biraz farklı. React ile basitçe CSS dosyanıza font adresini import ederek ediyordunuz. Burada ise indirdiğiniz font dizinini React Native Config dosyasına eklemeniz lazım. Örnekle gösterelim:

Ben örnek için Google Fonts'dan Inter isimli font paketini indireceğim. Daha sonra indirdiğim arşivdeki TTF veya OTF dosyalarını projemde assets/fonts dizinine kopyalıyorum.




react-native.config.js dosyası oluşturalım. Daha sonra dosyaya aşağıdakı satırları ekleyelim:

JavaScript:
module.exports = {
 assets: ['./assets/fonts/'], // Font dizini
};

Ve en son olarak da terminalde aşağıdakı komut ile React Native otomatik font dosyalarını iOS ve Android tarafından tanınmasını sağlıyor.

Bash:
npx react-native-asset



Çıktı bu şekilde ise bir sorun yok demektir. Eğer module-not-found gibi hata alıyorsanız react-native.config.js dosyasını oluşturmamışsınız demektir.


Fontların kullanımı​

Kurduğumuz fontlar iOS ve Android'de farklı olarak çağrılıyor. IOS'ta bu fontun tam ismi ile, Android'de ise font dosyasının ismi ile çağrılıyor.
Bu gibi uyum sorununu çözmek için React Native kendisi bir çözüm sunuyor.

JSX:
import {View, Text, StyleSheet, Platform} from 'react-native';
import React from 'react';
const Welcome = () => {
 return (
 <View className="flex-1 justify-center px-9">
 <Text className="text-2xl text-black" style={styles.font}>
 Welcome
 </Text>
 </View>
 );
};
const styles = StyleSheet.create({
 font: {
 fontFamily: Platform.OS === 'ios' ? 'Inter Bold' : 'Inter-Bold',
 },
});
export default Welcome;

Örneğin üstteki koddaki yöntem ile kurduğumuz Inter fontunu her iki sistemde kullanabiliyoruz. Bunun için tek gerekli olan Platform. OS ile uygulamanın çalıştığı işletim sistemine göre fontFamily özelliğinin değişkenini ayarlamak.
Sonuç olarak uygulamada kurduğumuz font gözüküyor.

 
EXPO-font kullanılarak daha kolay bir şekilde yapılabilir, elinize sağlık

Ben React Native CLI kullandigim icin Expo toollarini kullanmadim. Expo icin kendi sundugu toollar ile yapilabilir. Ayrica Expo bende sorunlu calisiyor, niye anlamadim ama React Native CLI ile isimi yapabiliyorum.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…