android资源类型与布局资源详细介绍

一、Android 资源类型全列举

Android 资源是存放在 res/ 目录下的非代码文件(图片、布局、字符串、样式等),系统会自动生成对应 R 类索引,核心资源类型如下: 表格

资源目录 资源类型 作用
res/drawable/ 图片 / 矢量资源 存放位图(png/jpg)、矢量图(xml)、形状资源
res/layout/ 布局资源 定义界面结构、控件摆放规则
res/values/ 值资源 字符串(strings.xml)、颜色(colors.xml)、尺寸(dimens.xml)、样式(styles.xml)、数组(arrays.xml)
res/mipmap/ 启动图标 存放不同分辨率的应用启动图标
res/anim/ 补间动画 定义透明度、缩放、平移、旋转动画
res/animator/ 属性动画 高级动画(控制控件属性、时长、插值器)
res/menu/ 菜单资源 定义选项菜单、上下文菜单、底部导航菜单
res/raw/ 原生资源 存放音频、视频、文本等直接读取的文件
res/xml/ 自定义 XML 配置文件、数据解析文件
res/font/ 字体资源 自定义 TTF/OTF 字体文件

二、布局资源 4 种常用类型(详细介绍)

布局资源(res/layout/*.xml)是 Android 最核心的资源,用于定义界面中控件的位置、大小、层级关系,以下是开发中最常用的 4 种布局:

1. LinearLayout(线性布局)

核心特点

  • 最基础、最常用的布局,按水平 / 垂直方向依次排列子控件
  • 子控件会按顺序排队,不会重叠
  • 通过 orientation 属性控制排列方向

关键属性

  1. android:orientation

    • vertical:垂直排列(从上到下)
    • horizontal:水平排列(从左到右)
  2. android:layout_weight:权重,按比例分配剩余空间(实现自适应尺寸)

  3. android:gravity:子控件在布局内的对齐方式(居中、居左、居右等)

适用场景

  • 简单的线性界面(登录表单、列表项、按钮横排)
  • 需要按比例分配控件大小的场景

示例代码

2. RelativeLayout(相对布局)

核心特点

  • 以子控件之间的相对位置 / 与父布局的相对位置定位
  • 自由度极高,可实现复杂界面,减少布局嵌套
  • 无需依赖排列方向,通过属性精准控制位置

关键属性

  1. 相对于父布局:

    • android:layout_centerInParent:居中
    • android:layout_alignParentTop:顶部对齐
    • android:layout_alignParentRight:右侧对齐
  2. 相对于其他控件:

    • android:layout_below:在某控件下方
    • android:layout_toRightOf:在某控件右侧
    • android:layout_alignTop:与某控件顶部对齐

适用场景

  • 控件位置不规则的界面(个人中心、详情页、复杂表单)
  • 需要减少嵌套、优化性能的场景

示例代码

3. TableLayout(表格布局)

核心特点采用行和列的表格形式排列控件,结构整齐规范继承自线性布局,默认垂直方向排列每一行使用 TableRow 包裹,内部控件自动成为一列列宽自动适配,整体对齐效果统一

关键属性android:stretchColumns:设置可拉伸的列,自动填满布局宽度android:shrinkColumns:设置可收缩的列,内容过长时自动压缩android:collapseColumns:隐藏指定列TableRow 内部控件无需设置宽高,自动按列排列

适用场景登录、注册类表单页面整齐对齐的信息展示页(个人资料、设置项)需要严格行列对齐的界面

示例代码

4. FrameLayout(帧布局)

核心特点

  • 最简单的布局,所有子控件默认叠加在左上角
  • 后添加的控件会覆盖在先添加的控件之上
  • 无复杂定位属性,轻量、渲染速度极快

关键属性

  • android:layout_gravity:控制子控件在布局内的对齐(居中、居右等)
  • 无方向、无权重、无相对定位属性

适用场景

  • 图层叠加(Fragment 容器、图片 + 文字遮罩、加载动画)
  • 单一控件展示(头像、图标、卡片背景)
  • 作为容器占位

示例代码

三、四种布局对比总结

表格

布局 定位方式 优点 缺点 推荐场景
LinearLayout 线性排列 简单易用、支持权重 复杂界面嵌套多、性能差 简单线性界面
RelativeLayout 相对位置 自由度高、减少嵌套 复杂约束易混乱、性能一般 中等复杂度界面
TableLayout 表格行列 自动对齐、适合表单 不够灵活、仅支持表格结构 表单、信息展示页
FrameLayout 图层叠加 最轻量、渲染最快 仅支持叠加 / 简单对齐 图层覆盖、容器占位
相关推荐
优选资源分享2 小时前
GKD v1.11.6 | 安卓开屏广告跳过工具 可用版
android
robotx2 小时前
安卓zygote启动相关
android
Mac的实验室3 小时前
2026年最新真实社交怎么注册?手把手教你如何成功注册Truth Social账号
android
毕设源码-郭学长4 小时前
【开题答辩全过程】以 基于Android的点餐APP的设计为例,包含答辩的问题和答案
android
polaris06304 小时前
学生成绩管理系统(MySQL)
android·数据库·mysql
__Yvan4 小时前
Kotlin 的 ?.let{} ?: run{} 真的等价于 if-else 吗?
android·开发语言·前端·kotlin
tangweiguo030519875 小时前
Android WorkManager 完整实战教程(含完整文件)
android·kotlin
loitawu5 小时前
Rockchip Android16 系统裁剪指南
android·android16·android裁剪·系统裁剪·rockchip app
小羊子说6 小时前
关于车机中的升级流程小结(SOC、MCU、4G升级流程)
android·adb·性能优化·车载系统