Android边距开始/结束和右/左之间有什么区别?


130

Android边距开始和右边(或边距结束和左边)有什么区别?

这是一个微不足道的问题,但是我似乎无法从文档中学习视图开始/结束与左/右之间的区别。可能是我什么都不懂,但是我根本无法取得任何进展。

Answers:


185

对于从左到右的流,开始=左,结束=右。

对于从右到左的流,开始=右,结束=左。

API级别17中添加了“开始”和“结束”概念,这是Android 4.2对RTL布局的支持的一部分。


5
您知道哪一个优先吗?(好奇心)。像marginLeft=1 marginStart=2(例如在Left2Right场景中)
Martin Marconcini

@MartínMarconcini:希望开始/结束优先,但是我不确定。您必须尝试一下。
CommonsWare 2015年

@Martin据我所知,当开始/结束位于API 17上方时,将忽略左/右。但是,我无法理解为什么您的左/右会不同于开始/结束;为什么?我很好奇。
Liggliluff

2
@Liggliluff错误,错别字等:)在API 17开始/结束之后优先,并且如果您仍然使用旧版本,则会出现LINT警告。我试过了,他们被忽略了。
Martin Marconcini

@Martin感谢您对其进行测试。如果仅出现开始或结束之一,是否忽略左/右?(当RTL脚本使用相同的开始/正确位置时,使用逻辑开始/正确位置没有多大逻辑意义)。
Liggliluff

28

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

图片

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.