Android 资源类型全列举 + 布局资源 4 种常用类型详解

4 阅读2分钟

一、Android 全资源类型分类

Android 资源统一放在 res/ 目录下,按功能分为11大类核心资源:

  • 布局资源

  • 图片 / 矢量资源

  • 应用图标资源

  • 值资源

  • 菜单资源

  • 补间动画资源

  • 属性动画资源

  • 原生文件资源

  • 自定义 XML 资源

  • 字体资源

  • 颜色状态资源

二、布局资源 4 种最常用类型

1. LinearLayout(线性布局)

定义:最基础的布局,将子控件按水平 / 垂直方向线性排列,像排队一样。核心属性

  • android:orientation:排列方向

    • vertical:垂直排列(从上到下)
    • horizontal:水平排列(从左到右)
  • android:gravity:子控件在布局内的对齐方式(居中、靠左、靠右等)

  • android:layout_weight权重(按比例分配剩余空间,适配神器)

适用场景:简单的线性界面(登录表单、列表项、垂直 / 水平排列的控件)。

优点:简单易用、性能高;缺点:复杂界面嵌套过多会降低性能。

2. RelativeLayout(相对布局)

定义:以其他控件或父容器为参照定位子控件,灵活实现复杂位置关系。核心属性(分两类):

  1. 相对于父容器

    • android:layout_centerInParent:居中
    • android:layout_alignParentTop:置顶
    • android:layout_alignParentRight:靠右
  2. 相对于其他控件

    • android:layout_below="@id/xxx":在某控件下方
    • android:layout_toRightOf="@id/xxx":在某控件右侧
    • android:layout_alignTop="@id/xxx":与某控件顶部对齐

适用场景:控件位置有相对关系的界面(个人中心、详情页)。

优点:灵活,减少布局嵌套;缺点:复杂层级性能略低

3. ConstraintLayout(约束布局)

定义:Google 官方推荐的首选布局,通过约束关系定位控件,支持扁平化嵌套(无多层嵌套),性能最强、适配最优。核心概念:每个控件必须至少定义水平 + 垂直两个约束(类似相对布局的增强版)。核心约束属性

  • app:layout_constraintTop_toTopOf:顶部与某控件顶部对齐
  • app:layout_constraintBottom_toBottomOf:底部对齐
  • app:layout_constraintStart_toStartOf:左侧对齐
  • app:layout_constraintEnd_toEndOf:右侧对齐
  • app:layout_constraintHorizontal_bias:水平偏移比例
  • app:layout_constraintVertical_bias:垂直偏移比例

适用场景:所有复杂 / 简单界面

优点:扁平化无嵌套、性能极高、可视化编辑友好、完美适配多设备;缺点:新手需要学习约束逻辑。

4. FrameLayout(帧布局)

定义:最简单的布局,所有子控件叠加在左上角(后添加的控件覆盖前面的),像画框一样层叠显示。核心属性

  • android:gravity:控制控件在布局内的对齐方式(居中、右下角等)
  • 无复杂定位,仅支持层叠 + 对齐

适用场景

  1. 碎片(Fragment)容器;
  2. 图片叠加文字(头像 + 角标);
  3. 加载动画遮罩层。

优点:性能最高、结构最简单;缺点:仅支持层叠,无法复杂定位。