如何在Android应用中显示Sinhala Unicode字符

Lah*_*nna 4 unicode android

我正在尝试在Android应用中显示Sinhala Unicode字符。当我使用Samsung选项卡或电话时Unicode正常运行,但在其他电话或tab。上不起作用。因为没有僧伽罗语Unicode。如何执行此示例,我在Samsung选项卡上成功运行了此代码。

Toast.makeText(this, "????????? ??????????? ???? ", Toast.LENGTH_SHORT).show();
Run Code Online (Sandbox Code Playgroud)

但其他电话或标签页不起作用。

RAM*_*RAM 5

您可能需要assets/fonts在项目根目录的目录中有一个Sinhalese字体文件(例如Sinhalese.ttf)。您创建一个虚拟文本视图,因为它有一个称为的方法setTypeface,该方法为下一个代码设置字体:

import android.graphics.Typeface;

public class FontSampler extends Activity {
  @Override
  public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.main);

    TextView tv=(TextView)findViewById(R.id.custom);  // a dummy text view
    Typeface face=Typeface.createFromAsset(getAssets(),
                                      "fonts/Sinhalese.ttf");
    tv.setTypeface(face);

    Toast.setView(tv).makeText(this, "????????? ??????????? ???? ", Toast.LENGTH_SHORT).show();
  }
}
Run Code Online (Sandbox Code Playgroud)

这样,即使android手机未安装字体,也可以使用应用程序中嵌入的字体。希望这可以帮助。