线性和相对布局有什么区别?
答案 0 :(得分:13)
<强> LINEAR LAYOUT ::
强>
Click here ---- for --- Android Docs reference for linear layout
<强> RELATIVE LAYOUT::
强>
Click here ---- for ---Android Docs reference for Relative layout
优化 :: 查看Optimizing Layout Hierarchies
视野越少,越好 ::
The number one goal for your layouts should be using the fewest number of Views possible. The fewer Views you have to work with, the faster your application will run. Excessive nesting of Views further slows down your application.
A RelativeLayout hierarchy will typically use fewer Views and have a flatter tree than a LinearLayout hierarchy. With LinearLayout, you must create a new LinearLayout every time you want to change the orientation of your views – creating additional Views and a more nested hierarchy. As a result, it is recommended that you first use RelativeLayout for any layout that has any complexity. There is a high probability you will reduce the number of Views – and the depth of your View tree – by doing so.
答案 1 :(得分:8)
线性布局将每个孩子一个接一个地放在一条线上,水平或垂直。使用相对布局,您可以为每个子项提供一个LayoutParam,它相对于父项或相对于其他子项的相对指定了应该去的确切位置。
答案 2 :(得分:4)
来自Android developer documentation: Common Layout Objects
<强>的LinearLayout 强>
LinearLayout在一个方向上对齐所有子项 - 垂直或水平,具体取决于您定义方向属性的方式。
<强> RelativeLayout的强>
RelativeLayout让子视图指定它们相对于父视图的位置或彼此之间的位置(由ID指定)
答案 3 :(得分:0)
以下链接应直观地解释布局如何“视觉”工作
http://www.droiddraw.org/
将一些组件添加到窗口并混淆布局以查看发生了什么,这就是我学习每个组件所做的事情。
答案 4 :(得分:0)
Android中LinearLayout
的{{3}}功能之一是使用名为权重的属性,该应用可以使用android:layout_weight
指定。
此属性根据屏幕应占用的空间为视图指定“重要性”值。
另一方面,RelativeLayout
不支持体重,换句话说,RelativeLayout
不关注android:layout_weight
。这是LinearLayout.LayoutParams
的属性,但不是RelativeLayout.LayoutParams
的属性。
答案 5 :(得分:0)
在相对布局中,布局页面中的所有内容都与example_layout.xml页面中的其他内容相关
在线性布局的情况下,元素以线性格式显示
答案 6 :(得分:0)
android中的线性和相对布局之间的区别在于,在线性布局中,“子”可以水平或垂直放置,但是,在相对布局中,子项可以彼此相对距离放置。这是线性布局和相对布局之间的差异。
答案 7 :(得分:0)
区别很简单:在LinearLayout中,我们以线性方式(一个接一个)排列东西,而在RelativeLayout中,我们可以将东西放在屏幕上的任何位置。
=&GT;线性布局按列表排列。 休息它们的功能相似。
答案 8 :(得分:0)
线性布局
相对布局
答案 9 :(得分:0)
RelativeLayout
比LinearLayout
更灵活,但是如果您对LinearLayout
有适当的了解,也可以使用。
对于LinearLayout
,每个属性都有一个重要位置,由开发人员进行硬编码。
对于RelativeLayout
,您可以通过与他人属性关联来更改位置。