2 Eylül 2011 Cuma

Android Uygulaması İçinde RTL(Arapça, İbranice vb.) Karakter Kullanımı

Android ile uygulama geliştirme maceralarımdan birinde aynı ekran içinde hem latin harfleri hem de arapça harfler olmasını gerektiren bir durumla karşılaştım. İnternette kolay bir arama ile bulunmayan ve dikenli bir yöntem buldum. Gerçekten de Arapça harfler yerine dikdörtgen kutuların çıkmasını engelleyip Arap harflerinin görünmesini sağlayan bu yöntemi paylaşıyorum:

1 - http://sourceforge.net/projects/dejavu/files linkinden DejaVu fontları indirilir. Bu fontlar RTL alfabelerin gösterimine olanak sağlayan bir font paketidir.
2 - Bu fontlar içerisinden DejaVuSans.ttf isimli dosya Android projesi içerisinde assets/ klasörü içine kopyalanır.
3 - RTL karakterlerin gösterileceği View için aşağıdaki kod parçası yazılır.

TextView tv = (TextView) v.findViewById(R.id.bottomtext);
Typeface font1 =Typeface.createFromAsset(getContext().getAssets(),"DejaVuSans.ttf"); 
tv.setTypeface(font1);


Bu şekilde TextView nesnesinin fontu DejaVuSans olarak atanıyor. Artık bu TextView içerisine yazacağınız Arapça veya başka bir RTL alfabe görüntülenecektir.

Not: Bu yöntem emulatorde de çalışmaktadır.

0 yorum:

Yorum Gönder