Android Dersleri

Android Dersleri 11 : Yazı Fontunu Değiştirme

Merhaba arkadaşlar. Bu zamana kadar 10 ders anlattım ve temel şeyler üzerinden gittim. Veritabanı, servisler gibi olaylara girmedim. Bir müddet daha böyle gideceğim. Bu derste de uygulamamızdaki yazı fontlarını değiştirmeyi anlatacağım.

Android uygulamalarımız varsayılan yazı fontuyla beraber gelir. Bunu nasıl değiştirebiliriz şimdi onu anlatalım. İlk olarak http://www.urbanfonts.com/fonts.php?fontauthor=2761 linkine tıklayalım ve istediğimiz bir fontu indirelim ve eğer zip içerisindeyse çıkaralım. Uzantısı .ttf olacaktır. Ben örnek bir site verdim siz de istediğimiz siteden indirebilirsiniz.

Bu indirdiğimiz fontu yani .ttf dosyasını, projemizde assets klasörünün altında fonts klasörüne atalım. Eğer assets altında bu klasör yoksa oluşturalım. Klasörlerimizin görüntüsü şu şekilde olacaktır.

Daha sonra projemizdeki sayfamıza 1 tane edittext 1 adet textview ve 1 tane de buton ekleyelim. Sayfamızın görüntüsü şu şekilde olacaktır.

Buradaki sarı ünlemleri kaldırmaya uğraşmadım. Siz kaldırmak istiyorsanız bir önceki yazımdan bakarak yapabilirsiniz. Şimdi bu sayfanın java dosyasına geçelim yani MainActiviy.java dosyasına. Burada her kontrolümüz için bir nesne oluşturacağız ve bundan farklı olarak da bir tane yazı fontumuz için bir nesne oluşturacağız. Java dosyamızın son görüntüsü şu şekilde olacaktır.

Ekranımızdaki 3 kontrolü kullanabilmek için bunlardan 3 adet nesne oluşturduk (b1,e1,t1). Fontumuzu kullanabilmek için de Typeface sınıfından tf1 nesnesi oluşturduk. onCreate() metodunda da bunları id’leri ile bağladık. tf1 nesnesi için de createFromAsset() metodunu kullandık ve bağlama işlemini id ile değil de dosyanın konumu ile yaptık. Bu metod 2 parametre aldı. İlk parametre sabit ve diğer parametre de tff uzantılı dosyamızın projedeki konumu.

Daha sonra b1 nesnesinin yani butonun tıklanma olayına da font değişikliklerini yazdık. Font değişikliği için setTypeFace() metodunu kullandık. Hangi nesne için font değişikliği yapacaksak o nesne ile beraber kullandık. Ayrıca buradaki tıklanma olayında şunu da yaptık: Butona tıklandığında edittext içerisindeki yazı, textview‘e aktarılacak. Bunu da setText() metodu ile yaptık. Parametre olarak da get yani alma işlemi yapan getText() metodunu verdik. Bu metod, edittext içerisindeki yazıyı alır.

Ekran Görüntüleri

Butona tıkladığımızda yazdığımız yazıyı alt tarafa geçirdi ve hem butonun hem de alttaki yazının fontunu değiştirdi. Burada 1 tane değil de birden fazla font da kullanabilirdik ve hepsini ayrı ayrı değiştirebilirdik. Bunun için de tabi fontumuz kadar nesne oluşturmamız gerekir. Yani tf1, tf2 gibi nesneler oluştururduk ve tf1’i butona, tf2’yi de textview’a bağlardık. Böylece hem buton hem de textview farklı fontlara sahip olurdu. Biz bu örnekte ikisini de aynı yaptık.

Bir müddet daha androiddeki araçları tanıyacağız ve daha sonra gelişmiş uygulamalara başlayacağız.

Mehmet Kirazlı

İstanbul Eyüp'te ikamet ediyorum. Giresun Alucra'lıyım. Bilgisayar Mühendisliği bölümünden 2013 yılında mezun oldum. "Yeni Başlayanlar için Java 8" kitabının yazarıyım. Şu anda özel bir firmada Mobil Yazılım Geliştirme Uzmanı olarak çalışıyorum.

Yorumları Göster

  • Aynısını yaptım.Fakat hiçbir hata yok tek tek kontrol ediyorum.unfortunately project has stoppet deyip daha ilk sayfayı bile açmadan kapanıyor nedeni ne olabilir acaba?

  • Selamün Aleyküm,

    hocam fonts a kaydettiğim tüm yazı tiplerini bir diziye(string array) nasıl aktarabilirim? (seekbar ile değiştirmek istiyorum).

    Çalışmalarınızdan dolayı tebrik ve teşekkür ederim.

    Hayırlı günler

    • Yazı tiplerinin isimlerini aynen bir arraya atın. Çekmek istediğinizde assets/fonts/list.get(1) gibi bir dizin vererek fontu çekebilirsiniz. Burada list.get(1) sizin fontunuzun adı olacak. Sonuna ttf de eklerseniz çekebilirsiniz.

  • hocam 11. derse kadar aralıksız geldim ve herşey için teşekkür ederim. ara ara hatalar alıyorum ama tekrar kodları kontrol ettiğimde sorunun bende olduğunu farkediyorum,
    tekrardan emeğiniz için teşekkürler. sayfanızdaki makaleleri dikkatle takip ediyorum.
    iyi çalışmalar ustam

Paylaş
Yazar
Mehmet Kirazlı

Son Gönderiler

Android Firebase Event (not set) Hatası Çözümü

Merhaba. Firebase Events'e istatistik attığınızda not set şeklinde bir değer görüyorsanız olası çözümünü göstereceğim. (daha&helliip;) Daha Fazla Oku

% gün önce

Namaz Vakitleri Uygulaması Yayında

Merhaba. Android cihazlar için hazırladığım Namaz Vakitleri uygulaması ile 200'e yakın ülkede tüm namaz-ezan vakitlerini… Daha Fazla Oku

% gün önce

Kaza Namazı ve Oruç Takip Uygulaması

Selamlar. İnsanlar için faydalı olması amacıyla geliştirdiğim Kaza Namazı ve Oruç Takip Uygulamasını sizlere tanıtmak… Daha Fazla Oku

% gün önce

Android Volley Kullanımı ve JSON Parse İşlemleri

Volley, Android uygulamalarımızda kullandığımız AsyncTask'ın alternatifi olarak ortaya çıkarılan, Google I/O 2013 sunumunda duyurulan bir… Daha Fazla Oku

% gün önce

Android ButterKnife Kütüphanesi Kullanımı

Merhaba. Bu yazımda Android platformunda kullanıma sunulan, bazı kod bloklarını basitleştiren ve okunabilirliği arttıran ButterKnife… Daha Fazla Oku

% gün önce

Admob TikTok Reklamları Engelleme

Merhaba. Bu yazımda artık baş belası olmuş TikTok reklamlarını, Android uygulamalarımızdaki Admob reklamlarından nasıl kaldıracağımızı… Daha Fazla Oku

% gün önce