2011-07-27 22 views

回答

2

什么时候使用哪种布局?

我认为这取决于你的UI,和最重要的事情是自己创造了优化的布局

自定义: -

的LinearLayout -设计在一个单一的行或列中显示子视图控件。这是创建表单非常方便的布局方法。

RelativeLayout -设计为显示子视图控件相互之间的关系。例如,您可以将控件设置为位于另一个控件的“上方”,“下方”或“左侧”或“右侧”,并由其唯一标识符引用。您还可以将子视图控件相对于父边对齐。

TableLayout -设计用于将子视图控件组织到行和列中。单独的视图控件被添加到表格的每一行中,为表格的每一行使用TableRow布局视图(基本上是水平方向的LinearLayout)。

参考文献:

Creating Efficient Layouts

Common Layout Objects

而且最重要的Hierarchy Viewer

+0

例如,我必须制作一个有10个字段的成本核算计算器,我应该使用哪种布局?在此先感谢 –

+0

这可以很容易地使用LinearLayout,如果你很好使用RelativeLayout然后使用这个。 –

1

起初有一些关于这些布局的混淆,但是当你开始玩这三种布局时,你会明白在哪里使用什么......我在相对布局上工作最多。 考虑我想使用一个小部件总是在屏幕的底部,然后与表或线性布局这是不可能的总是..没有感觉屏幕其他两个不能让项目在底部,但相对可以do.use任何类型的布局取决于你的屏幕要求。

+0

因此,您将小部件指向底部菜单或什么,您如何从相对布局以及它的其他用途中获得相对于您的体验的好处......? –

+0

看看我是否想要一些按钮或控件在屏幕底部总是在底部,然后我在相对布局中使用layout_alignParentBottom属性...同样,您可以自定义。我建议你在和他们一起玩时探索这些布局 – om252345

0

我开始使用RelativeLayout的。但最近我已经开始使用主线性布局。

原因是很难解释,但以此为例:假设我想要一个布局,其中有两个图像居中在屏幕中间。两幅图像都应占用屏幕宽度的1/4和屏幕高度的1/4。如果您希望它在所有设备上的工作完全相同,那么使用relativelayout是不可能的。但是你可以使用Linearlayout来做到这一点。通过创建垂直和水平父母,你可以创建“盒子”。要做到这一点,你必须了解体重和体重。父级布局应该具有weigthsum属性,并且子级应该具有weight属性。

无论如何,我的观点是:Relativelayout易于使用,但它也具有欺骗性。您可能认为您的布局在所有设备上看起来都很相似,但很可能它们看起来不一样。原因是:

  • 使用relativelayout,您必须使用dp或px(假设您不填充父项或封装内容)来定义大小。
  • 不同的设备有不同的宽高比。

我希望这有助于理解相对和线性布局。