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

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

这是一个琐碎的问题,但我似乎无法从 文件中学到视图开始/结束和左/右之间的区别。可能是我不明白什么,但我根本不能在这方面取得任何进展。

67422 次浏览

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

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

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

Android 支持来自 API 17 + 的 RTL 布局,也就是 Android 4.2(Jelly Bean)。如果我们的布局同时支持 RTL 和 LTR,那么我们就不能使用 lay- 边缘左侧和 lay- 边缘右侧,我们使用 lay- 边缘开始和 lay- 边缘。

pic

如果你熟悉像阿拉伯语或乌尔都语这样的语言,你会意识到它们是从右往左开始的,不像英语,我们是从左往右读。

所以如果我们使用左右边距来设置边距,那么我们就不用关心语言,而是直接根据通用的左右边距来添加边距。

但是,如果我们使用保证金开始/结束,那么我们关心的语言。比如说,如果应用程序有一个用阿拉伯语写的 UI,那么开始就在右边,如果 UI 是用英语写的,那么开始就在左边。

现在,何时使用 right/left 以及何时使用 start/end:

所以如果你确定你的应用程序不需要语言,你需要像英语一样从左到右显示你的用户界面,那么你可以选择左/右边距,因为它很容易理解。 但是如果你正在构建一个多语言的应用程序,那么你可以选择开始/结束页边距,因为你不需要创建多个 UI。