线性布局和相对布局有什么区别?

7
线性布局和相对布局有什么区别?
10个回答

15

线性布局 ::

  • 在线性布局中,所有元素都是按照线性方式显示的,就像名称所示。
  • 可以水平或垂直地设置这种行为,这是节点LinearLayout的属性android:orientation。
  • 线性布局将每个子元素依次排列在一条线上,水平或垂直。

单击此处 ---- 获取关于线性布局的Android文档参考

图片表示


相对布局 ::

  • 在相对布局中,每个元素都相对于其他元素或父元素排列。
  • 在添加视图时很有帮助
  • 使用相对布局,可以为每个子元素提供LayoutParam,指定它应该相对于父元素或其他子元素的确切位置。
  • 在相对布局中,视图层叠在彼此之上

单击此处 ---- 获取有关相对布局的Android文档参考

图片表示


优化::请查看优化布局层次结构

视图越少,越好::

  1. 在布局设计中,最重要的目标是使用尽可能少的视图(Views)。你拥有的视图越少,应用程序运行就会更快。过多的View嵌套会进一步减缓应用程序的速度。

  2. 相较于LinearLayout,RelativeLayout层次结构通常使用更少的Views并且具有更扁平的树形结构。对于LinearLayout,每次想要改变视图的方向时都必须创建一个新的LinearLayout——这就创建了额外的Views以及更深层次的嵌套。因此,在任何具有复杂性的布局中,建议首先使用RelativeLayout。这样做很可能会减少视图数量和视图层次的深度。


10

线性布局会将每个子元素依次排列在一条线上,可以水平或垂直排列。而相对布局则允许您为每个子元素指定LayoutParam,以精确说明它在父元素内的位置关系,或者相对于其他子元素的位置关系。


4

来自Android开发者文档:常见布局对象

LinearLayout

LinearLayout将所有子视图沿单一方向对齐,即垂直或水平方向,具体取决于您定义的方向属性。

RelativeLayout

RelativeLayout允许子视图相对于父视图或彼此指定位置(由ID指定)。


2

区别很简单:在LinearLayout中,我们按线性方式排列物品(一个接一个),而在RelativeLayout中,我们可以将物品放置在屏幕的任何位置。

=> LinearLayout按列表方式排列。 其余功能相似。


详细阐述你的答案。 - Anantha Raju C

0

线性布局

  1. 线性布局非常适合将视图按行和列对齐。
  2. 它们是使用布局权重来划分一个位置的好方法,这些权重将根据显示器的大小扩展或缩小视图。

相对布局

  1. 相对布局非常适合将元素相对于彼此定位。
  2. 例如,将B放在A下面或将C放在左下角。查看屏幕截图
  3. 相对布局还可以轻松地重叠视图。例如:视图A重叠视图B。查看屏幕截图

0

Android中LinearLayout特征之一是使用一个名为Weight的属性,应用可以使用android:layout_weight指定。该属性根据视图所需占用屏幕的空间大小分配“重要性”值。

另一方面,RelativeLayout不支持权重或者说RelativeLayout不关注android:layout_weight。这是LinearLayout.LayoutParams的一个属性,而不是RelativeLayout.LayoutParams的属性。


0

RelativeLayoutLinearLayout更灵活,但如果您对LinearLayout有适当的了解,也可以使用它。 对于LinearLayout,每个属性都由开发人员硬编码为具有重要位置。 对于RelativeLayout,您可以通过与其他属性相关联来更改位置。


嗨,Murad。这只是一条评论,不是真正的答案。此外,这个问题已经有很多回答了。请尽量避免在没有独特解决方案的情况下为问题提供额外的答案,除非您要向社区呈现独特的解决方案。这里有一些回答的提示。最后,RelativeLayout被Android Studio归类为“遗留”布局,因此开发人员应该避免使用它,而选择ConstraintLayout,除非他们正在维护一个过时的遗留项目。此致敬礼。 - Elletlar

-1

以下链接可以通过视觉方式解释布局如何工作 "Visually"
http://www.droiddraw.org/
向窗口添加一些组件并混合布局以查看发生了什么,这是我学习每个组件功能的方法。


-1
在Android中,线性布局和相对布局的区别在于,在线性布局中,“子项”可以水平或垂直放置,而在相对布局中,子项可以相对距离放置。这就是线性布局和相对布局之间的区别。

-1
在相对布局中,布局页面中的所有内容都与example_layout.xml页面中的其他内容相关。
在线性布局的情况下,元素以线性格式显示。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接