【问题标题】:How to display Sinhala Unicode characters in android app如何在 Android 应用程序中显示僧伽罗语 Unicode 字符
【发布时间】:2014-08-19 06:18:59
【问题描述】:

我正在尝试在 Android 应用程序中显示僧伽罗语 Unicode 字符。 当我使用三星标签或手机时,Unicode 可以毫无问题地运行它。但它不适用于其他手机或标签。因为没有僧伽罗语 Unicode。例如,我如何在三星标签上成功运行此代码。

Toast.makeText(this, "අන්තර්ජාල සම්බන්දතාවය තිබේ ", Toast.LENGTH_SHORT).show();

但其他手机或标签不起作用。

【问题讨论】:

    标签: android unicode


    【解决方案1】:

    您可能需要在项目根目录的assets/fonts 目录中拥有一个僧伽罗语字体文件(例如,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();
      }
    }
    

    这样,即使安卓手机没有安装字体,你的应用程序中嵌入的字体也会起作用。希望这可以帮助。

    【讨论】:

    • 是的,目前我正在这样做。但问题是字体仅适用于文本视图、按钮、编辑文本...等。如何使用 Toast、警报对话框
    • @LahiruPrasanna 请找到更新的代码行。我在 Toast 中添加了一个方法 setView。它应该有必要在 Toast 中显示字体。
    • 你的代码很有帮助,我用了这个developer.android.com/guide/topics/ui/notifiers/…
    【解决方案2】:

    如果您想在同一个文本框中呈现僧伽罗语和英语,请使用 Iskolapota 字体文件。并按照@Nonymous 的答案执行相同的操作。它对我有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-08
      • 2011-10-03
      • 2015-07-18
      • 1970-01-01
      • 1970-01-01
      • 2016-03-03
      • 1970-01-01
      • 2014-11-06
      相关资源
      最近更新 更多