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边距开始/结束和右/左有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章