Android布局资源的四种常用类型

0 阅读2分钟

1. LinearLayout(线性布局)

核心特性

  • 最基础、最简单的布局,所有子控件按「水平 / 垂直」方向排成一条直线
  • 子控件不会重叠,依次排列
  • 支持权重(layout_weight)实现按比例分配空间

关键属性

表格

属性作用
android:orientation排列方向:horizontal(水平)/vertical(垂直)
android:layout_weight子控件权重,按比例分配剩余空间
android:gravity子控件在布局内的对齐方式(居中、居左、居右)

ScreenShot_2026-03-26_200402_562.png

部分效果展示

2. RelativeLayout(相对布局)

核心特性

  • 以「子控件之间的相对位置」或「父容器的相对位置」定位
  • 无需嵌套,一个布局就能实现复杂排版
  • 灵活性高,但层级复杂时可读性差

关键属性

  1. 相对于父容器layout_centerInParent(居中)、layout_alignParentTop(顶部对齐)
  2. 相对于其他控件layout_below(在某控件下方)、layout_toRightOf(在某控件右侧)

ScreenShot_2026-03-26_200946_371.png

部分效果展示

3. FrameLayout(帧布局)

核心特性

  • 最简单的布局,所有子控件默认「堆叠在左上角」
  • 后添加的控件会覆盖先添加的控件(层级覆盖)
  • 测量 / 渲染速度最快,性能最优

关键属性

  • android:layout_gravity:控制子控件在布局内的对齐(居中、底部、右侧)
  • 无复杂排列规则,仅支持简单对齐

4.TableLayout(表格布局)

核心特性

  1. 以行和列的形式排列控件,一行一行、一列一列对齐

  2. TableLayout + TableRow 组成:

    • TableLayout:整个表格容器
    • TableRow:表格里的每一行
  3. 列数由包含控件最多的那一行决定

  4. 列宽会自动适配内容,也可以手动设置隐藏 / 拉伸

  5. 不用手动定义列,自动对齐,非常适合规整的表格界面

关键属性

表格

属性作用
android:stretchColumns设置可拉伸的列(填满表格剩余宽度,用列号表示,从 0 开始)
android:shrinkColumns设置可收缩的列(内容过长时自动收缩)
android:collapseColumns设置隐藏的列
TableRow代表表格中的一行,内部控件就是一列

image.png

部分效果展示

霓虹灯页面展示

image.png