Android:ConstraintLayout支持RTL

时间:2017-09-11 12:22:18

标签: android android-constraintlayout

我经历了很多解决方案,但我不明白如何在Android中使用ConstraintLayout为RTL设计支持。

2 个答案:

答案 0 :(得分:16)

只需将约束从Left替换为Start& RightEnd

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

LTR截图

English

RTL截图

RTL

注意:我希望您已在android:supportsRtl="true"&中添加了此行AndroidManifest.xml一些放置您需要删除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

答案 1 :(得分:1)

做以下事情,

  1. 查找&amp;将Left替换为Start
  2. 查找&amp;将Right替换为End
  3. 如果您使用leftDrawingrightDrawing仍然需要将其替换为startDrawing&amp; endDrawing

    同样适用于填充,

    并且不要忘记在AndroidManifest文件中添加以下行

    android:supportsRtl="true"