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

12 阅读1分钟

1. LinearLayout:线性布局

LinearLayout 是最直观的布局方式,它将子 View 按照水平(horizontal)或垂直(vertical)方向依次排列,适合结构简单、排列规则的界面。

核心特点:

  • 通过 android:orientation 指定排列方向。
  • 支持 layout_weight 权重属性,可让子 View 按比例分配父容器的剩余空间。
  • 配合 gravity 与 layout_gravity 控制对齐方式。

简单运行效果示例:

5211b63e1c9745bd7aaba545c6c37316.png

2. RelativeLayout:相对布局

RelativeLayout 允许子 View 相对于父容器或其他兄弟 View 进行定位,通过声明彼此间的空间关系来构建复杂界面,避免了多层嵌套。

核心特点:

  • 支持相对于父容器的对齐(如 layout_alignParentToplayout_centerInParent)。
  • 支持相对于其他 View 的定位(如 layout_abovelayout_toRightOflayout_alignBottom)。
  • 在 ConstraintLayout 出现之前,是复杂布局的首选方案。

常用属性:

  • 相对于父容器:layout_alignParentToplayout_alignParentBottomlayout_centerHorizontal 等。
  • 相对于兄弟 View:layout_abovelayout_belowlayout_toLeftOflayout_toRightOflayout_alignTop 等。

简单运行效果示例:

8f654851850ad747853af6e439a6282e.png

3. TableLayout(表格布局)

核心特点:

  • 以行和列的形式排列控件,类似 HTML 中的表格。

常用属性:

  • app:layout_constraintTop_toTopOf="parent":顶部与父容器顶部对齐。

  • app:layout_constraintLeft_toRightOf="@id/otherView":左侧位于另一个 View 的右侧。

  • app:layout_constraintHorizontal_bias 等控制约束偏移。

简单运行效果示例:

68b1e5877c7f4496a82b4afe386992af.png

4. FrameLayout:帧布局

核心特点:

  • 通过多层布局嵌套(如 FrameLayout + 多个 View)实现复杂视觉效果,这里展示的是同心圆样式的霓虹灯效果。

常用属性:

  • android:foreground:设置前景 drawable。
  • android:foregroundGravity:设置前景的对齐方式。
  • 子 View 的 layout_gravity 控制其在容器中的位置。

简单运行效果示例: 9bfc253eeb34cd832a7d9477c1c8ac5c.png