android四种常用类型

0 阅读3分钟

image.png

image.png

image.png

image.png

1. LinearLayout(线性布局)

项目示例cn.edu.linearLayout

特点

将所有子视图按单一方向(水平或垂直)顺序排列,支持权重机制分配剩余空间。

核心功能

  • 通过 orientation 属性控制排列方向
  • 通过 layout_weight 实现空间比例分配
  • 通过 gravity 控制子视图对齐方式

适用场景

简单的列表式布局(如设置页面)、表单页面(标签与输入框的线性排列)、工具栏按钮组等规整排列的场景。

优缺点

简单直观、易于理解,权重机制灵活;但嵌套过多会影响性能,不适合复杂的相对位置关系。


2. RelativeLayout(相对布局)

项目示例cn.edu.relativelayout

特点

子视图通过相对位置进行定位,可以相对于父容器或其他视图进行对齐,灵活性较高。

核心功能

  • 相对于父容器的定位(如顶部对齐、居中对齐、底部对齐等)
  • 相对于其他视图的定位(如位于某视图右侧、下方、左侧对齐等)

适用场景

复杂的平面布局(无需嵌套)、表单中标签与输入框的对齐、简单的自适应界面。

优缺点

可以避免多层嵌套,定位方式灵活;但约束关系不够直观,维护时容易出错,性能上不如 ConstraintLayout。


3. TableLayout(表格布局)

项目示例cn.edu.tablelayout

特点

以表格形式组织视图,通过行(TableRow)和列自动形成网格结构,无需显式定义列数。

核心功能

  • 自动创建列,各列宽度根据内容自适应
  • 支持列的拉伸、收缩和隐藏
  • 支持子视图跨越多列

适用场景

表单类界面(注册、登录、设置页面)、数据表格展示、日历、计算器等网格规整的布局。

优缺点

适合规整的表格数据,代码语义清晰;但灵活性较差,难以应对复杂的不规则布局,性能不如 ConstraintLayout。


4. ConstraintLayout(约束布局)

项目示例cn.edu.neonlamp

特点

通过约束定义视图之间的相对位置,实现扁平化布局,极大减少嵌套层级,是 Android 官方推荐的现代布局方式。

核心功能

  • 通过约束定义视图与父容器或其他视图的位置关系
  • 支持百分比宽度和高度,实现响应式设计
  • 支持偏移比例调节
  • 支持链式布局,实现视图组的均匀分布

适用场景

几乎任何类型的界面,特别适合复杂但需要高性能的布局,以及需要响应式设计的界面。

优缺点

扁平化设计性能优秀,布局能力强大(支持百分比、链、圆形定位等),Android Studio 提供良好的可视化编辑支持;但学习曲线较陡,XML 代码相对冗长,需要添加依赖库。

  • LinearLayout:适合简单线性排列,代码简洁
  • RelativeLayout:适合避免嵌套的平面布局,但逐渐被 ConstraintLayout 取代
  • TableLayout:适合规整的表格数据和表单
  • ConstraintLayout:现代 Android 开发首选,性能最优,功能最强

在现代开发中,推荐优先使用 ConstraintLayout,可以应对绝大多数界面需求,同时保持良好的性能。其他布局则在特定场景下依然有其适用价值。