Android 阿拉伯语的处理

应用程序支持RTL布局

在AndroidManifest.xml的 <application> 中,添加 android:supportsRtl=true
android:supportsRtl声明您的应用程序是否支持从右到左(RTL)布局。
如果设置为true并targetSdkVersion设置为17或更高,则系统将激活并使用各种RTL API,以便您的应用程序可以显示RTL布局。如果设置为false或者targetSdkVersion设置为16或更低,则RTL API将被忽略或无效,并且无论与用户的区域设置选项关联的布局方向如何,应用都将表现相同。

使用RTL布局

Android 4.2 后, paddingLeft paddingRight layout_marginLeft layout_marginRight layout_alignParentLeft layout_alignParentRight 等属性使用 paddingStart paddingEnd layout_marginStart layout_marginEnd layout_alignParentStart layout_alignParentEnd 替换。
可使用AS工具一键替换(Refactor > Add RTL Support Where Possible)
另外,代码中也需要使用setMarginEnd等类似的方法去处理。

定义文本的方向

TextView默认情况下一般语言是从左到右显示,阿拉伯语是从右到左显示。
如果布局随locate反转后,语言显示会混乱,因此我们需要使用 android:textDirection="locale" 属性来设置文本方向也随locate翻转。

定义文本的对齐方式

android:textAlignment
center(居中),inherit(默认,居左边显示),viewStart(居左显示 API 14),viewEnd(居右显示 API 14),textStart(居左显示 API 17),textEnd(居右显示 API 17)。