文本视图以断开连接的方式显示阿拉伯语句子

时间:2013-06-19 08:53:55

标签: android

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

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

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

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

enter image description here

然后我尝试打印文本视图的内容,如下所示:

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

然后用logcat打印出来。

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

1 个答案:

答案 0 :(得分:1)

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

https://github.com/agawish/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"));
    
  2. 注意:我们必须下载“tahoma.ttf”并输入资产文件夹。