Android边距开始/结束和右/左有啥区别?

Posted

技术标签:

【中文标题】Android边距开始/结束和右/左有啥区别?【英文标题】:What is the difference between Android margin start/end and right/left?Android边距开始/结束和右/左有什么区别? 【发布时间】:2013-01-31 23:50:00 【问题描述】:

android margin start 和 right(或 margin end 和 left)有什么区别?

这是一个微不足道的问题,但我似乎无法从 the documention 学到什么是视图开始/结束和左/右之间的区别。可能是我只是不明白某些东西,但我根本无法在这方面取得任何进展。

【问题讨论】:

【参考方案1】:

对于从左到右的流程,start=left,end=right。

对于从右到左的流程,start=right,end=left。

API 级别 17 中添加了“开始”和“结束”概念,作为 Android 4.2's support for RTL layouts 的一部分。

【讨论】:

如果它们不同,你知道哪个优先吗? (好奇心)。像 marginLeft=1 marginStart=2 (例如在 Left2Right 场景中) @MartínMarconcini:希望开始/结束优先,但我不确定。你必须尝试一下。 @Martin 据我了解,当开始/结束存在于 API 17 之上时,左/右将被忽略。但是,我不明白为什么您的左/右会与开始/结束不同;我很好奇。 @Liggiluff 错误、拼写错误等 :) 在 API 17 开始/结束之后优先,如果您仍然使用旧版本,则会出现 LINT 警告。他们被忽略了,我试过了。 @Martin 感谢您对其进行测试。如果只有一个开始或结束出现,左/右是否都会被忽略? (当 RTL 脚本相同时,使用 start/right 没有多大逻辑意义)。【参考方案2】:

Android 支持来自 API 17+ 即 Android 4.2 (Jelly Bean) 的 RTL 布局。当我们使我们的布局同时支持 RTL 和 LTR 时,我们不能使用 layout_marginleft 和 layout_marginRight 我们使用 layout_marginstart 和 layout_maginend 。

【讨论】:

【参考方案3】:

这是一个有用的答案。我正在考虑它并且阅读文档无法得到答案。所以margin left是英语和类似语言的margin start

【讨论】:

以上是关于Android边距开始/结束和右/左有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

android和robot有啥区别?

左连接和右连接有啥区别

mysql中的左连接和右连接有啥区别[重复]

在 iOS 上,边距、边缘插入、内容插入、对齐矩形、布局边距、锚点......有啥区别?

这两个边距有啥区别? [复制]

linq 左连接和右连接的写法有啥区别