2016-09-29 9 views
0

AndroidでeditTextにカスタムフォントを設定するにはどうすればよいですか?このコードを使用します。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

あなたはsetTypeface方法でご希望の言語をサポートするいくつかのUnicodeフォントを使用する必要があります。 Arial Unicode MSのように。

+0

あなたが言ったように私は既にArial Unicodeフォントを試しました。しかし、それはまだ動作しません。 –

+0

[this](http://www.f0nt.com/release/book-akhanake/)font buddyを使用してください。それは私のために働いています。 – lRadha

+0

私のgitの[this](https://github.com/lRadha/Android-Unicode-Example)デモを参照してください – 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をサポートしています。だから、同じフォントを2つのケース(en/thai)に設定する必要がありますか? –

+0

thaiとengの言語サポートに依存します。 – GAVD

関連する問題