Android资源类型

6 阅读2分钟

布局资源(layout)四种最常用类型详解

布局资源用于定义界面结构与控件排列规则,文件位于 res/layout/*.xml。

  1. LinearLayout(线性布局)

特点

控件按水平或垂直方向依次排列,像排队一样

最基础、最常用,性能好

支持权重(layout_weight)实现按比例分配空间

关键属性

android:orientation="vertical|horizontal":排列方向

android:layout_weight:权重,用于平分/比例分配剩余空间

gravity:内部控件对齐方式

layout_gravity:自身在父布局中的对齐

适用场景

简单单列/单行排列

表单、列表项、按钮栏

需要按比例分配宽度/高度 2. RelativeLayout(相对布局)

特点

控件相对于父布局或其他兄弟控件定位

灵活度高,可减少布局嵌套

不用依赖顺序,通过 ID 引用实现位置关系

关键属性

相对于父布局:

layout_alignParentTop

layout_centerInParent

layout_alignParentEnd

相对于兄弟控件:

layout_toRightOf

layout_below

layout_alignTop

适用场景

控件位置不规则、需要对齐边缘

复杂 UI 但不想多层嵌套

头像+文字、标签定位等 3. ConstraintLayout(约束布局)

特点

Google 官方推荐首选布局

功能最强,可完全替代 LinearLayout + RelativeLayout

扁平化结构,无嵌套也能实现复杂界面,性能最优

可视化编辑器支持最好

关键约束

左右约束:layout_constraintStart_toStartOf

上下约束:layout_constraintTop_toBottomOf

居中:两边同时约束到父布局

比例:layout_constraintDimensionRatio

链(Chain):批量控制一组控件排列

适用场景

绝大多数现代 Android 界面

复杂响应式布局

多屏幕适配、平板/折叠屏 4. FrameLayout(帧布局)

特点

所有控件叠在同一区域,后添加的覆盖先添加的

结构最简单,性能最高

常用于容器,只显示一个子 View

关键属性

android:gravity:控制子控件在帧内的位置

无复杂排列规则,仅层级叠加

适用场景

碎片(Fragment)容器

ViewPager 页面

加载动画、遮罩层

相机预览、视频播放层

三、四种布局简单对比

布局 排列方式 性能 复杂度 推荐度

LinearLayout 线性依次 高 低 常用

RelativeLayout 相对定位 中 中 一般

ConstraintLayout 约束定位 高 高 强烈推荐

FrameLayout 层叠 极高 极低 专用场景