Android 8.0 (API düzeyi 26), yazı tiplerini kaynak olarak kullanabilmenizi sağlayan XML biçiminde yazı tiplerini kullanıma sunuyor. Yazı tiplerini kaynak olarak gruplandırmak için font
dosyasını res/font/
klasörüne ekleyebilirsiniz. Bu yazı tipleri R
dosyanızda derlenir ve Android Studio'da otomatik olarak kullanılabilir. Yazı tipi kaynaklarına font
kaynak türünü kullanarak erişebilirsiniz. Örneğin, bir yazı tipi kaynağına erişmek için @font/myfont
veya R.font.myfont
kullanın.
Android 4.1 (API düzeyi 16) ve sonraki sürümleri çalıştıran cihazlarda XML özelliğinde yazı tiplerini kullanmak için Destek Kitaplığı 26.0'ı kullanın. Destek Kitaplığı'nı kullanma hakkında daha fazla bilgi için Destek Kitaplığı'nı kullanma bölümüne bakın.
Yazı tiplerini kaynak olarak eklemek için Android Studio'da aşağıdaki adımları uygulayın:
- res klasörünü sağ tıklayın ve Yeni > Android kaynak dizini'ne gidin. New Resource Directory penceresi görünür.
- Kaynak türü listesinde yazı tipi'ni seçip Tamam'ı tıklayın.
Not: Kaynak dizininin adı font olmalıdır.
- Yazı tipi dosyalarınızı
font
klasörüne ekleyin.Aşağıdaki klasör yapısı
R.font.dancing_script
,R.font.lobster
veR.font.typo_graphica
oluşturur. - Bir yazı tipi dosyasını çift tıklayarak dosyanın yazı tiplerini düzenleyicide önizleyin.
Yazı tipi ailesi oluşturma
Yazı tipi ailesi, stil ve ağırlık ayrıntılarıyla birlikte bir yazı tipi dosyaları grubudur. Android'de, XML kaynağı olarak yeni bir yazı tipi ailesi oluşturabilir ve her bir stile ve ağırlığa ayrı kaynaklar olarak başvurmak yerine, yazı tipi ailesine tek bir birim olarak erişebilirsiniz. Bu şekilde, sistemin kullandığınız metin stiline göre doğru yazı tipini seçmesini sağlarsınız.
Yazı tipi ailesi oluşturmak için Android Studio'da aşağıdaki adımları uygulayın:
font
klasörünü sağ tıklayın ve Yeni > Yazı tipi kaynak dosyası'nı seçin. New Resource File penceresi görünür.- Dosya adını girip Tamam'ı tıklayın. Yeni yazı tipi kaynağı XML düzenleyicide açılır.
- Her yazı tipi dosyasını, stili ve ağırlık özelliğini
<font>
öğesine yerleştirin. Aşağıdaki XML'de, yazı tipi kaynağı XML'ine yazı tipiyle ilgili özelliklerin eklenmesi gösterilmektedir:<?xml version="1.0" encoding="utf-8"?> <font-family xmlns:android="http://schemas.android.com/apk/res/android"> <font android:fontStyle="normal" android:fontWeight="400" android:font="@font/lobster_regular" /> <font android:fontStyle="italic" android:fontWeight="400" android:font="@font/lobster_italic" /> </font-family>
XML düzenlerinde yazı tiplerini kullanma
fontFamily
özelliğini kullanarak yazı tiplerinizi TextView
nesnelerinde veya stillerde (tek bir yazı tipi dosyası veya bir yazı tipi ailesinden bir yazı tipi) kullanın.
Not: Bir yazı tipi ailesi kullandığınızda,
TextView
bu ailedeki yazı tipi dosyalarını kullanmak için gerektiğinde
kendiliğinden geçiş yapar.
TextView'a yazı tipi ekleme
TextView
için yazı tipi ayarlamak istiyorsanız aşağıdakilerden birini yapın:
- Düzen XML dosyasında
fontFamily
özelliğini, erişmek istediğiniz yazı tipi dosyasına ayarlayın.<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:fontFamily="@font/lobster"/>
TextView
öğesinin yazı tipini ayarlamak için Özellikler penceresini açın.- Özellikler penceresini açmak için bir görünüm seçin.
Not: Özellikler penceresi yalnızca tasarım düzenleyici açıkken kullanılabilir. Pencerenin alt kısmındaki Tasarım sekmesini seçin.
- textGörünüm özelliğini genişletin ve ardından fontFamily listesinden yazı tipini seçin.
- Özellikler penceresini açmak için bir görünüm seçin.
Şekil 5'te en sağdaki bölmede gösterilen Android Studio düzen önizlemesi, TextView
öğesinde ayarlanan yazı tipini önizlemenize olanak tanır.
Stile yazı tipi ekleme
styles.xml
dosyasını açın ve fontFamily
özelliğini, erişmek istediğiniz yazı tipi dosyasına ayarlayın.
<style name="customfontstyle" parent="@android:style/TextAppearance.Small"> <item name="android:fontFamily">@font/lobster</item> </style>
Yazı tiplerini programatik olarak kullanma
Yazı tiplerini programatik olarak almak için getFont(int)
yöntemini çağırın ve almak istediğiniz yazı tipinin kaynak tanımlayıcısını sağlayın. Bu yöntem, bir Typeface
nesnesi döndürür. Sistem, yazı tiplerinin bilgilerine göre sizin için en iyi stili seçse de yazı tipini belirli stillerle ayarlamak için setTypeface(android.graphics.Typeface, int)
yöntemini kullanabilirsiniz.
Not: TextView
bu işlemi sizin için yapar.
Kotlin
val typeface = resources.getFont(R.font.myfont) textView.typeface = typeface
Java
Typeface typeface = getResources().getFont(R.font.myfont); textView.setTypeface(typeface);
Destek Kitaplığı'nı kullanma
Destek Kitaplığı 26.0, Android 4.1 (API düzeyi 16) ve sonraki sürümleri çalıştıran cihazlarda XML biçiminde yazı tiplerini destekler.
Not: Destek Kitaplığı aracılığıyla XML düzeninde yazı tipi ailelerini bildirirken yazı tiplerinizin yüklendiğinden emin olmak için uygulama ad alanını kullanın.
<?xml version="1.0" encoding="utf-8"?> <font-family xmlns:app="http://schemas.android.com/apk/res-auto"> <font app:fontStyle="normal" app:fontWeight="400" app:font="@font/myfont-Regular"/> <font app:fontStyle="italic" app:fontWeight="400" app:font="@font/myfont-Italic" /> </font-family>
Yazı tiplerini programatik olarak almak için ResourceCompat.getFont(Context, int)
yöntemini çağırın ve Context
örneği ile kaynak tanımlayıcısını sağlayın.
Kotlin
val typeface = ResourcesCompat.getFont(context, R.font.myfont)
Java
Typeface typeface = ResourcesCompat.getFont(context, R.font.myfont);