Android, Yazılım

Android’te Harici Font Kullanımı

tugrulasik_special_fonts_1Arkadaşlar Selam,

Android üzerinde harici yazı tipleri (external fonts) kullanımı bugünkü yazımın konusu. Bir önceki yazımda paylaştığım  custom button örneği üzerinde birkaç değişiklik yaparak bu konu hakkında sizlere bilgi vermeye çalışacağım.

Bu işlemi gerçekleştirebilmek için bazı font dosyaları indirmemiz ve düzenlememiz gerekiyor. Bu işlemleri başarılı bir şekilde gerçekleştirebilmek için gereken adımları yazının devamında belirtmeye çalıştım. Umarım çok farklı font tipleriyle dilediğiniz gibi uygulama geliştirirken yararlandığınız bir kaynak olur.

Uygulamanın kodlarını sayfanın sonunda yer alan linkten edinebileceğinizi de ayrıca belirtmek isterim.

11_Andr_app_screen

1.  Özel Font Dosyaları

http://www.fontsquirrel.com/fontface adresinden dilediğimiz font dosyasını indirelim. ( Bu konuda ücretsiz hizmet veren birçok site mevcut. ) Aşağıda sitenin içeriğinden bir örneği bulabilirsiniz.

11_Andr_fontface

 

Bu sitenin en sevdiğim taraflarından biri Font dosyasını indirmeden önce test edebiliyor olmanız. Font sayfasına girdiğinizde, test drive sekmesine girerseniz aşağıdaki gibi bir test ekranıyla karşılaşıyorsunuz. Bu sayede saçma karakter durumlarına karşı bir avantaj sağlamış oluyoruz.

 

11_Andr_fontface_test


 

2. Font Dosyalarını Uygulamaya Ekleme

Dosyaları .zip klasörden çıkartıp,  assets/fonts altına kopyalayalım.

11_Andr_fontface_asset

 

 

 3. Font Dosyalarının Uygulamada Elementler Üzerinde Kullanılması

Fontları uygulamada kullanmak için önce  assets üzerinden tanımlayacağız, daha sonra ise dilediğimiz element için atama yapacağız. Aşağıda bununla ilgili kod parçalarını bulabilirsiniz.

//Assets üzerinden çağırma
Typeface font1=Typeface.createFromAsset(getAssets(), "/fonts/UNDERCOV.ttf");

 

//button_1'deki fontlar icin kullanimi
button_1=(Button)findViewById(R.id.button1);
button_1.setTypeface(font1);

 4. Uygulamanın MainActivity Sınıfı

package com.ders.custombuttonshape;
/*
 * Coded By Tugrul Aşık
 * Visit tugrulasik.com for more information
 * 28.01.2013
 */
import android.app.Activity;
import android.graphics.Typeface;
import android.os.Bundle;
import android.widget.Button;
import android.widget.TextView;
 
public class MainActivity extends Activity {
 
	Button button_1,button_2,button_3,button_4;
	TextView textView1;
 
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
 
		//Typeface ayarlari
		//Dosya erisim pathlerine dikkat !  /fonts/UNDERCOV.ttf dosya yolu HATALI olurdu !
		//Bu kapsamda yapacaginiz bir hata  Caused by: java.lang.RuntimeException: native typeface cannot be made hatasini almaniza sebep olacaktir.
		Typeface font1=Typeface.createFromAsset(getAssets(), "fonts/UNDERCOV.ttf");		
		Typeface font3=Typeface.createFromAsset(getAssets(), "fonts/Vanilla.ttf");
		Typeface font2=Typeface.createFromAsset(getAssets(), "fonts/PLUMP.ttf");
		Typeface font4=Typeface.createFromAsset(getAssets(), "fonts/JUNEBUG_.ttf");
		Typeface font_textview=Typeface.createFromAsset(getAssets(), "fonts/DIGITALDREAM.ttf");
 
		//Typeface'lerin elementlere atanmasi
		textView1=(TextView)findViewById(R.id.textView1);
		textView1.setTypeface(font_textview);
 
		button_1=(Button)findViewById(R.id.button1);
		button_1.setTypeface(font1);
 
		button_2=(Button)findViewById(R.id.button2);
		button_2.setTypeface(font2);
 
		button_3=(Button)findViewById(R.id.button3);
		button_3.setTypeface(font3);
 
		button_4=(Button)findViewById(R.id.button4);
		button_4.setTypeface(font4);
 
	}
 
}

 

important

Uygulamanızda  font dosyalarını tanıtırken, dosya yolunda hata yapmamız durumunda  Caused by: java.lang.RuntimeException: native typeface cannot be made hatasını alacaksınızdır. Bundan dolayı fonts/UNDERCOV.ttf yerine /fonts/UNDERCOV.ttf gibi bir yol kullanmadığınızdan emin olunuz !

 

Okuduğunuz için teşekkürler 😉 İyi çalışmalar, iyi geliştirmeler…

download