我试图用阿拉伯语显示一个句子。为了测试它,我使用了谷歌翻译,并用阿拉伯语找到了“Hello World”的等效句子,这是مرحباالعالم
我已将其粘贴在“String.xml”中,并在我的代码中使用它:
txt1.setText(getResources().getString(R.string.sample_arabic_text));
但是android正在这样的文本视图中显示它(不是以连接的方式):
然后我尝试打印文本视图的内容,如下所示:
System.out.println(txt1.getText());
然后用logcat打印出来。
我有点困惑为什么它没有正确显示在文本视图中。请帮我找到解决这个问题的方法。
答案 0 :(得分:1)
我通过从这个链接中放入两个类来解决这个问题:
https://github.com/agawish/Better-Arabic-Reshaper
并按照此链接中的说明操作:
http://blog.amr-gawish.com/39/arabic-language-in-android/
步骤:
1.从第一个链接下载zip文件夹 2.将名为“ArabicReshaper”和“ArabicUtilities”的两个类放入包中,并将包名更改为我们的应用程序包名
之后将此代码放在第二个链接的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”并输入资产文件夹。