我查阅了很多解决方案,但是我不明白如何在安卓中使用ConstraintLayout
实现从右向左(RTL)的设计支持。
我查阅了很多解决方案,但是我不明白如何在安卓中使用ConstraintLayout
实现从右向左(RTL)的设计支持。
只需将约束从Left
更改为Start
,并将Right
更改为End
,
app:layout_constraintLeft_toRightOf = layout_constraintStart_toEndOf
app:layout_constraintRight_toLeftOf = layout_constraintEnd_toStartOf
app:layout_constraintLeft_toLeftOf = layout_constraintStart_toStartOf
app:layout_constraintRight_toRightOf = layout_constraintEnd_toEndOf
我相信这对你来说会完美地发挥作用,
请查看我的范例:item_list.xml
从左到右的屏幕截图:
从右到左的屏幕截图:
注意: 我希望你已经在AndroidManifest.xml
文件中添加了这一行:android:supportsRtl="true"
,并且在某些地方需要移除textAlignment
属性。这样做可以确保阿拉伯语对齐没问题。
更新:
更好的实践方法是同时添加和设置这两个属性,以避免 API 级别版本的支持问题。
layout_constraintLeft_toRightOf
layout_constraintStart_toEndOf
layout_constraintRight_toLeftOf
layout_constraintEnd_toStartOf
layout_constraintLeft_toLeftOf
layout_constraintStart_toStartOf
layout_constraintRight_toRightOf
layout_constraintEnd_toEndOf
textAlignment
属性,仍然在RTL中将文本显示在左侧。 - user7555773TextView
时,它会自动从右到左设置,但请确保您没有在任何地方设置宽度常量。 - Mukesh LokareLeft
替换为Start
Right
替换为End
如果您仍在使用leftDrawing
或rightDrawing
,也需要将其替换为startDrawing
和endDrawing
内边距同理,
不要忘记在AndroidManifest
文件中添加以下行:
android:supportsRtl="true"
layout_constraintEnd_toStartOf
),与RelativeLayout
相同。 - CommonsWare