Android中的每个RelativeLayout都可以用LinearLayout编程,这是真的吗



就我对Android中Layouts的理解而言,我只是想问以下语句是否正确?

Android中的每个RelativeLayout都可以用LinearLayout编程,这是真的吗?

我个人认为,每个RelativeLayout也可以使用LinearLayout来完成。那么,为什么要使用RelativeLayout而不是Linear呢?

感谢

Android中的每个RelativeLayout都可以用LinearLayout编程,这是真的吗?

没有。

首先,RelativeLayout支持Z轴排序(即小部件与其他小部件重叠)。LinearLayout没有。

其次,只有RelativeLayout结构的子集可以被单个LinearLayout取代。可以想象,您可以使用许多LinearLayoutSpace小部件来实现所有不重叠的RelativeLayout结构。结果可能更复杂、更占用内存,并且可能更占用CPU。

根据android参考指南:

LinearLayout:将其子项组织为单个水平或垂直行的布局。如果窗口的长度超过屏幕的长度,它会创建一个滚动条。

RelativeLayout:使用户可以指定子对象相对于彼此(子对象A位于子对象B的左侧)或相对于父对象(与父对象顶部对齐)的位置。

有关详细信息:http://developer.android.com/guide/topics/ui/declaring-layout.html#CommonLayouts

即使这句话是真的,RelativeLayout对于某些用例来说只是一个更好的工具,那么为什么不使用它呢?您可以使用LinearLayout重新创建布局,但结果很可能在视图数量和渲染时间方面效率低下。此外,有时使用RelativeLayout会导致更简单直观的布局描述,这意味着更容易维护。

最新更新