1

我正在尝试用阿拉伯语显示一个句子。为了测试它,我使用了谷歌翻译器,并在阿拉伯语中找到了“Hello World”的等效句子,即 مرحبا العالم

我已将其粘贴在“String.xml”中,并在我的代码中像这样使用它:

txt1.setText(getResources().getString(R.string.sample_arabic_text));

但是android正在像这样的文本视图中显示它(不是以连接的方式):

在此处输入图像描述

然后我尝试像这样打印文本视图的内容:

System.out.println(txt1.getText());

然后它在 logcat 中打印更正。

我有点困惑为什么它没有正确显示在文本视图中。请帮助我找到解决此问题的方法。

4

1 回答 1

1

我通过从这个链接放置两个类来解决这个问题:

https://github.com/aawish/Better-Arabic-Reshaper

并按照此链接中的说明进行操作:

http://blog.amr-gawish.com/39/arabic-language-in-android/

脚步:

1.从第一个链接下载zip文件夹 2.将名为“ArabicReshaper”和“ArabicUtilities”的两个类放入包中,并将包名更改为我们应用程序的包名

  1. 之后,将此代码放在第二个链接的 on create 中:

    AssetManager manager=this.getAssets();

    manager.open("tahoma.ttf");
    TextView tv=(TextView)this.findViewById(R.id.testMe);
    tv.setTypeface(Typeface.createFromAsset(manager, "tahoma.ttf"));
    tv.setTextSize(50f);
    tv.setText(ArabicUtilities.reshape("adsdads الحمد لله asdad"));
    

注意:我们必须下载“tahoma.ttf”并放入资产文件夹。

于 2013-06-19T12:07:56.963 回答