Google geçtiğimiz günlerde düzenlediği Google I/O 2017 etkinliğinde yeni Android O işletim sistemini tanıttı. Google, şuan Android O işletim sistemini incelemek amaçlı biz geliştiricilere preview versiyonunu sunmuş bulunmaktadır.
Google geçtiğimiz günlerde düzenlediği Google I/O 2017 etkinliğinde yeni Android O işletim sistemini tanıttı. Google, şuan Android O işletim sistemini incelemek amaçlı biz geliştiricilere preview versiyonunu sunmuş bulunmaktadır.
Android Studio’da Android O kurulumu ve Android O’nun yeni “metni otomatik boyutlandırma” özelliği ile ilgili makaleme buradan ulaşıp kurulumu ve özelliği inceleyebilirsiniz
Bu makalemde ise Android O’nun, yazı tiplerini kaynak olarak kullanmamızı olanak tanıyarak, Custom Fonts oluşturmamızı sağlayan özelliğinden bahsedeceğim.
Projenize Custom Fonts Ekleme
“Uygulamanızda hiç belli bir metni ön plana çıkarmak istediniz mi?” veya “Belki özel bir fontu kullanarak uygulamanıza farklı bir görsellik katarak en güzel görünümü yakalamak isteniz?” İşte bu gibi durumlarda uygulamamızda Custom Fonts kullanmamız gerekir.
Normalde Android uygulamalarda metinlere özel fontlar (custom fonts) eklemek için ekstra kütüphaneler kullanmak gerekiyordu. Fakat Android O işletim sistemiyle birlikte bu sorunumuz ortadan kalktı.Çünkü Android O sürümünde ekstra kütüphaneler kullanmamıza gerek bulunmamaktadır.
Custom fonts, Android O’da tamamen desteklenen bir kaynak türü olacak şekilde ayarlandığından, Android’de özel yazı tipleriyle çalışmak çok daha kolay hale gelecektir.
Android O, hem .otf (OpenType) hem de .ttf (TrueType) font formatlarını desteklemektedir. Bu tür yazı tiplerini ücretsiz sunan birçok web sitesi bulunmaktadır. Google’da kısa bir arama yaparak istediğiniz font dosyasını seçebilirsiniz.
Uygulamanızda kullanmak istediğiniz yazı tipini bulduğunuzda zip dosyasını indirip, unzip yaparak dosyayı zip dosyadan çıkartınız. Android Studio’da kullanacağınız tüm dosyaların isimleri a den z ye tüm harflerden, 0 ile 9 arasında olan tüm sayılardan ve altcizgi karakterlerinden oluşmalıdır. Bu yüzden font dosyanızın ismini de bu koşullara uyarak değiştiriniz. Aksi takdirde Android Studio’da hata alırsınız.
Artık elimizde ilgili font dosyaları bulunmaktadır. Android uygulamamızda bu fontları kullanabilmek için font dosyalarını, projemizin dosyalarının içine yerleştirmeliyiz.
- Projenizin ana dizininde app\src\main\res yolunu takip ederek res dizinini bulunuz. res dizinine sağ tıklayıp New > Android resource directory seçiniz.
- Resource type alanını Font seçiniz.
- File name alanına font yazınız.
- Son olarak OK butonunu seçiniz
- Projenizdeki res\font yolundaki font dizininin üstüne font dosyalarınızı sürekli bırakla mantığıyla yerleştiriniz.
Projede Custom Fonts Kullanımı
Artık Layout Xml kodlarımızda custom fontlarımızı kullanabiliriz.Yeni eklemiş olduğumuz font dosyalarını yazımıza uygulayabilmek için yazı barınan arayüz elementimize android:fontFamily özeliğini eklememiz gerekir. Örnek kod;
1 2 3 4 5 |
<TextView android:text="This is some text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="@font/doublefeature"/> |
Ayrıca, uygulamanızda oluşturduğunuz stillere özel fontlar ekleyebilirsiniz.Örneğin;
1 2 3 |
<style name=“headlineFont" parent="@android:style/TextAppearance.Small"> <item name="android:fontFamily">@font/doublefeature</item> </style> |
Dilerseniz Java programlama tarafında da, getFont(int) metodundan faydalanarak custom fontlarınızı tanımlayabilirsiniz.Örneğin;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.LinearLayout.LayoutParams; import android.graphics.Typeface; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout linearLayout = new LinearLayout(this); TextView ProgrammaticallyTextView = new TextView(this); ProgrammaticallyTextView.setText("This is some text"); //Reference your custom font// Typeface typeface = getResources().getFont(R.font.doublefeature); ProgrammaticallyTextView.setTypeface(typeface); linearLayout.addView(ProgrammaticallyTextView); this.setContentView(linearLayout, new LinearLayout.LayoutParams( LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); } } |
Sonuç olarak,projenize custom fontlar ekleyerek daha şık ve benzersiz bir metin nasıl oluşturulacağını gösterdim.
Kaynaklar
- https://developer.android.com/preview/features/fonts-in-xml.html
- https://code.tutsplus.com/tutorials/quick-tip-working-with-custom-fonts-in-android-o–cms-28625