我试图弄清楚相对布局的布局参数之间的区别,特别是alignParentRight和alignParentEnd(还有alignParentLeft和alignParentStart)。阅读参考文献没有多大帮助,我认为父母的结尾总是正确的。这有什么不同吗?现在有人贬值吗?
答案 0 :(得分:9)
我认为父母的结局总是正确的
仅适用于从左到右(LTR)语言。对于从右到左(RTL)语言(例如,希伯来语,阿拉伯语),结束是左边,开始是正确的。如果使用end
和start
属性,则在设置为RTL区域设置的设备上运行时,布局将镜像。如果您使用left
和right
,则不会镜像。
答案 1 :(得分:3)
让我在@ CommonsWare的答案旁边再加一点。请注意,API级别17中添加了alignStart, alignEnd
和alignParentEnd, alignParentStart
,因此您无法在17之前使用这些属性。
https://developer.android.com/reference/android/R.attr.html#layout_alignParentEnd
╔═══════════════════════════════════╦═══════════════════════╗
║ API Level 1 ║ API Level 17 ║
╠═══════════════════════════════════╬═══════════════════════╣
║ alignBaseLine ║ align(Start/End) ║
║ alignWithParentIfMissing ║ alignParent(Start/End)║
║ align(Top/Bottom/Left/Right) ║ ║
║ alignParent(Top/Bottom/Left/Right)║ ║
╚═══════════════════════════════════╩═══════════════════════╝
答案 2 :(得分:0)
alignParentEnd
和alignParentStart
用于RTL(从右到左)布局,这是一个历史常态。在这种情况下"结束"实际上变成了#34;离开"而不是"对"。如果您为所有视图提供这些属性,您的布局将在RTL布局中看起来像水平翻转,这对这些国家/地区的用户来说更方便。