应用程序支持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)。