Android Calligraphy Kütüphanesi ile Font Değiştirme

Bundan önce ki yazımız da Java içerisinde tek tek “TextView” üzerinde font değiştirmeye bakmıştık. Bunu yapmak için “Assets” klasörü oluşturmaya bakmıştık. Bu yazımızda “Assets” klasörü oluşturma kısmını atlayacağım. Dilerseniz buradan inceleyebilirsiniz. Bu yazımızda ise “Calligraphy” kütüphanesi ile uygulamamızda varsayılan yazı tipini ve XML içerisinde font değiştirmeye bakacağız.

Öncelikle “Gradle” içerisine kütüphane eklemeyle başlayalım. “app->build.gradle” içerisinde “dependencies” altına ekleyelim.

Ardından yeni bir Java sınıfı oluşturarak “Application” sınıfını “extends” edeceğiz ve içerisine “Calligraphy” için oluşturma metodunu ile işlemler yapacağız.
Oluşturacağımız sınıfa “AppController.java” diyelim ve “onCreate” içerisinde, “initDefault” metodunu çağıralım.

Daha sonra bu oluşturduğumuz sınıfı “AndroidManifest” içerisinde “Launcher” olan “activity” üzerinde “name” olarak veriyoruz.

Daha sonra XML içerisinde üst katman içerisine alttaki kodu yazıyoruz ve ön ek yazmaktan kurtuluyoruz.

Ardından kullanacağımız “TextView” için font verebiliriz.

Ardından kullanacağımız her “Activity” içerisinde bir metotu “override” etmemiz gerekmekte.

Dediğim gibi yukarıda ki metotu her “Activity” sınıfı içerisine yazmamız gerekmektedir. Eğer yazmaksak Android varsayılan font yapısını kullanıyor.
Ekran görüntüsü,

Teşekkürler, görüşmek üzere.

“Android Calligraphy Kütüphanesi ile Font Değiştirme” üzerine 2 yorum

    1. Application sınıfını extend ettiğiniz sınıf içerisinde defaultFontPath bir String değer istiyor sizden. Bu durumda sizin bu değeri “SharedPrefences” üzerinde tutabilirsiniz. Bu doğrultuda kullanıcıya uygulamanın her hangi bir yerinde font listesini göstererek oradan bir font seçmesi sonucunda bu font değerini “SharedPreferences” içerisine kaydederek uygulamanın tekrar başlaması durumunda fontu ayarlayabilirsiniz. Burada dikkat etmeniz gereken noktalar ise öncelikle bütün fontlar cihazın içerisinde olmalı. Ek olarak kullanıcıya “CaveatBrush-Regular” şeklinde bir metin göstermeyeceğiniz için bunu bir “key-value” şeklinde tutmanız gerekebilir. Örneğin, “Caveat Brush Normal” metnine karşılık “CaveatBrush-Regular” gibi.

Bir Cevap Yazın

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