Android 布局资源四种常用类型的介绍与应用

0 阅读2分钟

1. LinearLayout(线性布局)

image.png

核心定义:线性布局是最基础的布局之一,子控件会按水平(horizontal)或垂直(vertical)方向依次排列在一条直线上,不会自动换行。

关键特点

  通过 `android:orientation` 指定排列方向。
  支持 `layout_weight` 属性,可按比例分配剩余空间,实现灵活的宽度 / 高度分配。

适用场景:简单的线性排列界面,如登录表单、导航栏等。

2.FrameLayout(帧对局)

image.png

核心定义:帧布局是最简单的布局,所有子控件会层叠在容器的左上角(或指定位置) ,后添加的控件会覆盖在前面的控件之上。

关键特点

  层叠显示:控件像画框一样层层叠加,适合做重叠效果或作为容器(如 Fragment 容器)。
  位置可控:通过 `layout_gravity` 可指定子控件在帧布局中的对齐方式(如居中、底部等)。

适用场景:简单的重叠控件、加载动画、Fragment 容器、卡片叠加效果等。

3. RelativeLayout(相对布局)

image.png

核心定义:相对布局允许子控件相对于父容器或其他兄弟控件来确定位置,是实现复杂界面的灵活选择。

关键特点

  位置依赖丰富:可设置 “在父容器底部”“在某控件右侧”“在某控件上方” 等相对关系。
  减少布局层级:相比线性布局,复杂界面用相对布局可减少嵌套,提升渲染性能。

适用场景:需要灵活定位控件的复杂界面,如商品详情页、个人中心页。

4.TableLayout(表格布局)

image.png

核心定义:表格布局以行(TableRow)和列的形式组织子控件,类似 HTML 表格,子控件会被自动对齐到单元格中。

关键特点

  列数由包含最多控件的行决定,同一列的单元格宽度自动对齐。
  支持 `stretchColumns`(拉伸列)、`shrinkColumns`(收缩列)、`collapseColumns`(隐藏列)等属性,适配不同屏幕。

总结对比

适用场景:需要规整表格形式的界面,如计算器、日程表、数据报表等。

布局类型核心特点典型场景
LinearLayout线性排列,支持权重分配线性表单、导航栏
RelativeLayout相对定位,灵活自由复杂界面、商品详情页
TableLayout表格行列,自动对齐计算器、数据表格
FrameLayout层叠覆盖,简单高效加载动画、Fragment 容器