2016-09-29 3 views
0

Как настроить собственный шрифт для редактирования текста в Android? Я использую этот кодAndroid - Установить шрифт на другом языке

etPlace = (EditText)findViewById(R.id.editTextPlace); 
    etPlace.setTypeface(tf); 

Он может работать с английским языком. Но если я напечатаю на тайском языке, он станет HEX. Я попытался удалить код setTypeface, но он не может решить. Кто-нибудь может мне предложить?

This is example picture of my app

+0

Шрифт, который вы используете, поддерживает только английскую вещь. Вам нужно найти шрифт, который поддерживает язык, на который вы нацеливаетесь. – Enzokie

+0

Нет, я использую тайский шрифт, а также поддерживает английский. Он отлично работает в TextView. Но он не может работать в EditText, как в примере. –

+0

А я вижу, я думаю, что есть что-то делать с производителем также устройства. – Enzokie

ответ

0

Вы должны использовать некоторые шрифты Unicode, которые поддерживают ваш язык разыскиваемого в методе setTypeface. Как Arial Unicode MS.

+0

Я уже пробовал шрифт Arial Unicode, как вы сказали. Но он все еще не может работать. –

+0

использовать [этот] (http://www.f0nt.com/release/book-akhanake/) шрифт приятель. Он работает для меня. – lRadha

+0

См. [Это] (https://github.com/lRadha/Android-Unicode-Example) demo on my git – lRadha

0

Вам следует создать класс, который возвращает объект EditText с шрифтом, который вы хотите поддержать.

EditText public SetLanguage(EditText tv,string type) 
{ 
EditText newtv = tv; 
Typeface tf; 
switch(type) 
{ 
    case "en": 
    tf = Typeface.createFromAsset(this.getAssets(),"en.ttf"); 
    break; 
    case "thai": 
    tf = Typeface.createFromAsset(this.getAssets(),"thai.ttf"); 
    break; 
    // up so on     

} 
    newtv.setTypeface(tf); 
    return newtv; 
} 

    // and call it any where.. 
    EditText etPlace = (EditText) findViewById(R.id.textView2); 
    etPlace = classobj.SetLanguage(textView1,"thai"); 
    //assign string of text to it 
+0

Я использую тайский шрифт для обоих языков, и он поддерживает ENG. Итак, я должен установить одинаковый шрифт для двух случаев (en/thai) правильно? –

+0

Это зависит от ваших шрифтов, поддерживающих тайский и английский языки. – GAVD

Смежные вопросы