Android - 用其他语言设置字体

时间:2016-09-29 04:24:14

标签: java android android-edittext

如何在Android中将自定义字体设置为editText?我用这个代码

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

它可以使用英语。但如果我输入泰语,它将成为HEX。我试图删除setTypeface代码但它无法解决。有人可以建议我吗?

This is example picture of my app

2 个答案:

答案 0 :(得分:0)

您必须在setTypeface方法中使用支持所需语言的某种Unicode字体。与Arial Unicode MS一样。

答案 1 :(得分:0)

您应该创建一个返回EditText Object的类,其中包含您想要支持的字体。

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