1. LinearLayout:线性布局
LinearLayout 是最直观的布局方式,它将子 View 按照水平(horizontal)或垂直(vertical)方向依次排列,适合结构简单、排列规则的界面。
核心特点:
- 通过
android:orientation指定排列方向。 - 支持
layout_weight权重属性,可让子 View 按比例分配父容器的剩余空间。 - 配合
gravity与layout_gravity控制对齐方式。
简单运行效果示例:
2. RelativeLayout:相对布局
RelativeLayout 允许子 View 相对于父容器或其他兄弟 View 进行定位,通过声明彼此间的空间关系来构建复杂界面,避免了多层嵌套。
核心特点:
- 支持相对于父容器的对齐(如
layout_alignParentTop、layout_centerInParent)。 - 支持相对于其他 View 的定位(如
layout_above、layout_toRightOf、layout_alignBottom)。 - 在 ConstraintLayout 出现之前,是复杂布局的首选方案。
常用属性:
- 相对于父容器:
layout_alignParentTop、layout_alignParentBottom、layout_centerHorizontal等。 - 相对于兄弟 View:
layout_above、layout_below、layout_toLeftOf、layout_toRightOf、layout_alignTop等。
简单运行效果示例:
3. TableLayout(表格布局)
核心特点:
- 以行和列的形式排列控件,类似 HTML 中的表格。
常用属性:
-
app:layout_constraintTop_toTopOf="parent":顶部与父容器顶部对齐。 -
app:layout_constraintLeft_toRightOf="@id/otherView":左侧位于另一个 View 的右侧。 -
app:layout_constraintHorizontal_bias等控制约束偏移。
简单运行效果示例:
4. FrameLayout:帧布局
核心特点:
- 通过多层布局嵌套(如 FrameLayout + 多个 View)实现复杂视觉效果,这里展示的是同心圆样式的霓虹灯效果。
常用属性:
android:foreground:设置前景 drawable。android:foregroundGravity:设置前景的对齐方式。- 子 View 的
layout_gravity控制其在容器中的位置。
简单运行效果示例: