据我所知,Android中的Layouts我只是想问以下陈述是否属实?
Android中的每个RelativeLayout都可以用LinearLayout编程吗?
我个人认为每个RelativeLayout也可以使用LinearLayout完成。那么为什么有人会使用RelativeLayout而不是Linear呢?
谢谢
答案 0 :(得分:6)
Android中的每个RelativeLayout都可以用LinearLayout编程吗?
没有
首先,RelativeLayout
支持Z轴排序(即,与其他小部件重叠的小部件)。 LinearLayout
没有。
其次,只有RelativeLayout
个结构的子集可以被单个 LinearLayout
替换。可以想象,您可以使用许多 RelativeLayout
和LinearLayout
小部件来实现所有不重叠的Space
结构。结果可能会更加复杂,占用更多内存,并且可能会占用大量CPU资源。
答案 1 :(得分:0)
根据android参考指南:
LinearLayout:将子项组织为单个水平或垂直行的布局。如果窗口的长度超过屏幕的长度,它会创建一个滚动条。
RelativeLayout:允许您指定子对象相对于彼此的位置(子B的左侧的子A)或父对象的位置(与父对象的顶部对齐)。
有关详细信息:http://developer.android.com/guide/topics/ui/declaring-layout.html#CommonLayouts
答案 2 :(得分:0)
即使该陈述是真的,RelativeLayout
对于某些用例来说只是一个更好的工具 - 那么为什么不使用呢?您可以使用LinearLayout
重新创建布局,但结果很可能在视图数量和渲染时间方面效率低下。此外,有时使用RelativeLayout
会导致更简单直观的布局描述,这意味着更易于维护。