项目 1:LinearLayout(线性布局)
(1)核心特性:LinearLayout 是线性排列布局,将子 View 按horizontal(水平)或vertical(垂直)方向依次排列,支持weight(权重)分配剩余空间,是最基础的布局类型。
(2)项目核心文件说明
项目包含提问中指定的 4 个核心文件:
gradle.properties:配置 Android 编译参数(如android.useAndroidX=true);
build.gradle(Module: app):依赖 AndroidX 核心库,指定编译 SDK 版本;
gradlew:Linux/Mac 下的 Gradle 构建脚本;
app/src/main/AndroidManifest.xml:声明主 Activity,关联布局。
项目 2:RelativeLayout(相对布局)
核心特性:RelativeLayout 通过相对位置摆放子 View,相比 LinearLayout 更灵活,可减少布局嵌套。
项目 3:ConstraintLayout(约束布局)
核心特性:ConstraintLayout 是 Google 推荐的新一代布局,结合了 LinearLayout 和 RelativeLayout 的优点,通过 “约束关系”(如左约束、右约束、基线约束)精准定位子 View,支持百分比、链布局,可完全替代嵌套布局,提升性能。
项目 4:FrameLayout(帧布局)
核心特性:FrameLayout 是帧布局,子 View 默认堆叠在左上角,后添加的 View 会覆盖先添加的 View,适合 “层叠显示” 场景(如图片 + 文字水印、加载中遮罩)
布局类型 核心优势 适用场景 注意事项
LinearLayout 简单易上手,权重分配空间 线性排列的列表、单行 / 单列布局 嵌套过多会降低性能
RelativeLayout 灵活,基于相对位置布局 复杂界面(减少嵌套) 约束过多易出错
ConstraintLayout 高性能、低嵌套、支持百分比 / 链 绝大多数复杂界面(Google 推荐) 需熟悉约束规则
FrameLayout 层叠显示,结构最简单 图片水印、加载遮罩、单 View 容器 子 View 需通过 gravity 定位