React-native ile yazı stili/font ekleme (0.60+)

1.Yazı tipi edinmek

Yazı tipinizi uygulamanıza eklemek için, desteklenen tüm stiller .ttf (.otf gibi diğer formatlar da desteklenir) dosyalarına ihtiyacınız olacaktır.

Biz örneğimizde Baloo Bhai adında bir yazı stili kullanacağız.  https://fonts.google.com/specimen/Baloo+Bhai

Bu linkten başka stiller de seçebilirsiniz. 

Seçtikten sonra bilgisayarınıza indiriniz.

2.Projeye (indirdiğimiz) yazı stilini eklemek

Projemizin içine “styleSheet” adında bir klasör oluşturup, onun da içine “fonts” adında bir klasör oluşturuyoruz.

Bilgisayarımıza indirdiğimiz yazı stili dosyasını zipten çıkartıp, projemizin içinde oluşturduğumuz styleSheet/fonts klasörünün içine  ekliyoruz.

Dosya dizini şu şekilde olacaktır : AppName/styleSheet/fonts/Blob_Bahai

3. Yazı Tipini Bağlamak

Eğer react native versiyonu >= 0.60 ise react-native.config.js dosyası oluşturup aşağıdaki gibi export edebilirsiniz.

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

Eğer react native versiyonunuz <= 0.59.9 ise package.json içerisine aşağıdaki scripti ekleyiniz.

"rnpm": {
"assets": ["assets/fonts/Blob_Bahai"]
}

bağlamını ekleyiniz.

Her iki durum için de, link işlemini yapacağız.

$ react-native link

4. Yeni Yazı Stilini Kullanma

Aşağıdaki gibi kullanabilirsiniz yeni yazı stilinizi.

<Text style={{fontFamily: 'BalooBhai-Regular'}}> “Vicdan, kalp penceresinden bakar. Akıl, gözünü kapasa da vicdanın gözü daima açıktır!” B.S.N. </Text>

Bu işlemlerden sonra ios ve android için build işlemlerini yapmalısınız.

react-native run-ios
react-native run-android

Ekran Görüntüleri;

ios;

android;

Olası Hatalar;

  • “Cycle inside Pods-templateTests; building could produce unreliable results.”
    Bu hatayı ekran görüntüsündeki gibi çözdüm. (File -> Workspace Settings)
  • Eklediğiniz bir fontu kaldırmak istediğiniz zaman IDE üzerinden silmenin dışında, xcode üzerinden de /Resources altından kaldırmanız gerekir. Yoksa bu fontu bulamadığı için hata verecektir.
  • Yeni bir font ekledikten sonra da gene aynı şekilde link’leme işlemi yapılmalıdır.

Bu yazının hazırlanmasında katkılarından ötürü Sabiha Çetin‘e teşekkürler 🙂

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

%d blogcu bunu beğendi: