我PreferencesActivity需要它才能正确对齐,因为我想使用阿拉伯语,我试图使用它android:layout_gravity="right",PreferenceScreen但它没有用.
这是我的XML:
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:layout_gravity="right">
<PreferenceCategory android:title="General Settings">
<CheckBoxPreference
android:title="Full Screen"
android:defaultValue="false"
android:summary="Always view as Full Screen"
android:key="fullScreenPref" />
<Preference
android:title="Report Bugs"
android:summary="Notify us for any Bugs or Errors"
android:key="bugs"/>
<Preference
android:title="About"
android:summary="Version 1.0.0"
android:key="about"/>
</PreferenceCategory>
</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)
这就是我在内部使用XML的方式PreferencesActivity:
addPreferencesFromResource(R.layout.preferences);
Run Code Online (Sandbox Code Playgroud) 我的用户使用的Android 2.2不支持Farsi字体.如何在Android 2.2和2.3中正确显示我的波斯语文本?
我的应用程序显示阿拉伯语言的字母和单词.但这些字母看起来不对.例如符号ب和ش:
正确(来自iOS):
错了(来自Android):
如您所见,字母顶部的小线必须居中.但事实并非如此.如何在iOS上显示阿拉伯语符号?
更新:我正在尝试使用Better-Arabic-Shapper,但它也显示不正确:
更好阿拉伯语的Shapper
我正在尝试使用下面的代码设置自定义字体(Arial,Simpo,nassim_latn_rg),但它也无法正常工作:
private const val FONT_PATH = "fonts/"
val font = "nassim_latn_rg.otf"
val typeface = Typeface.createFromAsset(context.assets, FONT_PATH + font)
textView.typeface = typeface
Run Code Online (Sandbox Code Playgroud) 我希望有人把我的问题放在正确的方向上
我想努力支持我的语言,特别是关于android的写作
我们使用阿拉伯字符几乎没有修改(如parsi,urdu等)..
我希望android完全支持阿拉伯语,然后我会改变我的语言.但即便是2.2也不支持阿拉伯语.它只显示阿拉伯字符而且没有连接.即"عربية"显示为"عربيية".
一些人在CyanogenMod ROM上为一些HTC手机提供阿拉伯语支持,但是他们不知道他们是如何制作的.我有android源代码,我想知道从哪里开始,在哪里进行更改,什么是处理字体的库,整形引擎等.
ps:android.com和其他Android相关的谷歌群组在我的国家/地区被屏蔽.
我正在尝试使用阿拉伯语为Android 2.2制作应用程序.我写了一个代码文本,如:
?????????? ??? ?? ????? ???????? ??? ???? ????? ???????? ?? ?????? ??????? (??) ?? ???????? ??? ?????? ????????? ?? ????? ? ??? ????? ???? ??? ??????? ? ??? ??? ????
Run Code Online (Sandbox Code Playgroud)
它显示如下:

我的意思是这些字母分开来,这导致了意义上的差异.如何使字母显示连接?
编辑:
是4.0支持阿拉伯语.现在我必须找到2.2的方法,因为我使用的产品运行2.2.我无法轻松实现4.0.你对此有什么建议吗?

在Unicode 字符中是ARABIC LETTER PEH INITIAL FORM \'\xef\xad\x98\'. 0xFB58当我使用以下代码显示 Unicode 字符时,Android 2.2、2.3 中的每个 Unicode 字符一切正常。和 4.x但我在Android 3.xARABIC LETTER PEH \'\xef\xad\x98\'上遇到问题,在这种情况下会显示字符。\'~\'
Typeface tf = Typeface.createFromAsset(context.getAssets(),"TAHOMA.TTF");\n\nstrChars = "";\nstrChars += (char) 0xFB58;\ntvChars.setTypeface(tf);\ntvChars.setText(strChars);\nRun Code Online (Sandbox Code Playgroud)\n\n我应该提到,当我更改字体或忽略使用时,问题仍然存在setTypeface(tf)
为什么?
\n\n如何找到 Unicode 中的代码ARABIC LETTER PEH?
编辑:
\n\n请以编程方式将0xFB58( \xef\xad\x98) 和0xFB5E( \xef\xad\x9e) 与任何字体进行比较。你会发现问题的。第一个未显示,但第二个已正确显示。
我使用如何在Android中支持阿拉伯语文本的课程?显示阿拉伯文字.在Android 2.1 - 2.3文本位于左侧,所以我使用android:gravity ="right",但在Android 3.0+阿拉伯语文本已在右侧自动对齐,如果我使用android:gravity ="right"in将左侧对齐.如何在不同的Android版本中使文本与相同的文本对齐?