我看过很多关于布局的文章,但我仍然感到非常困惑。我的问题是:
我只需要简短的答案。
答案 0 :(得分:2)
何时使用哪种布局?
我认为这取决于您的UI,以及最重要的是如何创建优化布局。
根据定义: -
LinearLayout - 旨在在单个行或列中显示子视图控件。这是一种非常方便的用于创建表单的布局方法。
RelativeLayout - 旨在显示相对于彼此的子视图控件。例如,您可以将控件设置为位于另一个控件的“上方”或“下方”或“左侧”或“右侧”,由其唯一标识符引用。您还可以将子视图控件相对于父边对齐。
TableLayout - 旨在将子视图控件组织为行和列。对于表格的每一行,使用TableRow布局视图(基本上是水平方向的LinearLayout)为表格的每一行添加单独的视图控件。
参考文献:
最重要的Hierarchy Viewer
答案 1 :(得分:1)
起初对这些布局存在一些困惑,但是当你开始玩这三种布局时,你会知道在哪里使用什么......我在相对布局上工作最多。 考虑我想总是在屏幕底部使用小部件,然后使用表格或线性布局,这是不可能的总是..没有感觉屏幕其他两个不能使项目在底部但相对可以做。任何类型的布局的使用取决于你屏幕要求。
答案 2 :(得分:0)
我开始使用relativelayout。但最近我转而使用线性布局。
原因很难解释,但以此为例:假设我想要一个在屏幕中间有两个图像的布局。两个图像应占屏幕宽度的1/4和屏幕高度的1/4。假设您希望它在所有设备上完全相同,那么这与relativelayout无关。但你可以用Linearlayout做到这一点。通过创建纵向和横向父项,您可以创建“框”。要做到这一点,你必须了解weigthsum和weigth。父布局应具有weigthsum属性,子窗口应具有权重属性。
无论如何,我的观点:Relativelayout易于使用,但它也具有欺骗性。您可能认为您的布局在所有设备上看起来都完全相同,但最有可能的是,它们看起来不一样。原因是:
我希望在理解相对和线性布局方面有所帮助。