目录

  • 课程介绍
    • ● 课程内容
    • ● 课程标准
    • ● 课程导学之学习方法(信息检索与分析法/自主探究学习法)
    • ● 特长生工作室
  • 1单元一 Android环境搭建
    • ● 学习指南
    • ● 1.1 手机操作系统
    • ● 1.2 什么是好的APP?
    • ● 1.3 环境搭建
    • ● 1.4  模拟器与真机
    • ● 1.5 课堂讨论
    • ● 1.6 单元测验一
  • 2单元二 布局管理器
    • ● 学习指南
    • ● 2.1 模块一 四大组件
    • ● 2.2 模块二 布局管理器
    • ● 2.3 模块三 线性布局
    • ● 2.4 模块四 相对布局
    • ● 2.5  模块五 约束布局
    • ● 2.6 实训一:微信界面设计
    • ● 2.7 课堂讨论
    • ● 2.8 单元测验二
  • 3 单元三 Android高级组件
    • ● 学习指南
    • ● 3.1 模块一双状态开关工具
      • ● 3.1.1实训二:手电筒效果设计
    • ● 3.2 模块二 简单图形绘制工具
      • ● 3.2.1实训三:QQ界面优化
    • ● 3.3 模块三 网页浏览控件
      • ● 3.3.1实训四:模拟浏览淘宝页面
    • ● 3.4 课堂讨论
    • ● 3.5 单元测验三
  • 4 单元四 Android Fragment
    • ● 学习指南
    • ● 4.1 模块一Fragment组件
    • ● 4.2 模块二视图翻页工具
      • ● 4.2.1实训五:模拟相册滑动翻页效果
    • ● 4.3 课堂讨论
    • ● 4.4 单元测验四
  • 5 单元五多媒体
    • ● 学习指南
    • ● 5.1模块一相机服务
      • ● 5.1.1 拍照服务
    • ● 5.2 模块二音视频服务
      • ● 5.2.1音乐播放
      • ● 5.2.2视频播放
    • ● 5.3 Android绘图
    • ● 5.4 课堂讨论
    • ● 5.5 单元测验五
  • 6 单元六Android动画
    • ● 学习指南
    • ● 6.1模块一帧动画
    • ● 6.2 模块二补间动画
    • ● 6.3 模块三 属性动画
    • ● 6.4 模块四  Vue.js动画
    • ● 6.5 课堂讨论
    • ● 6.6 单元测验六
  • 7 单元七Android风格与主题
    • ● 学习指南
    • ● 7.1 模块一风格资源
    • ● 7.2模块二 主题资源
    • ● 7.3 课堂讨论
    • ● 7.4 单元测验七
  • 8单元八 人机交互
    • ● 学习指南
    • ● 8.1模块一事件
    • ● 8.2模块二 拖拉与多点触屏
    • ● 8.3模块三手势识别
    • ● 8.4 模块三 手势识别扩展
    • ● 8.5 模块四 语音识别
    • ● 8.6 课堂讨论
    • ● 8.7 单元测验八
  • 9单元九Android地图与传感器
    • ● 学习指南
    • ● 9.1 模块一 Android地图
      • ● 地图的定义与显示
      • ● Android地图的应用
    • ● 9.2 模块二 传感器
      • ● 9.2.1 传感器介绍
      • ● 9.2.2 传感器在手机中的应用
      • ● 9.2.3 手机传感器的实现
    • ● 9.3 课堂讨论
  • 10 单元十 项目实战
    • ● 10.1虚拟综合实训平台使用方法
    • ● 10.2 综合实训案例(智慧尊老)
      • ● 虚拟仿真
      • ● 需求分析
      • ● 页面设计
      • ● 硬件设计
      • ● 代码开发与功能测试
      • ● 学习评价
    • ● 10.3 综合实训案例(咖啡商城)
  • 11 单元十一 省技能大赛《移动应用开发》/《移动应用设计与开发》赛项
    • ● 11.1 2022-2023年技能大赛赛项规程
    • ● 11.2 2022-2023年技能大赛备赛题库(1-10)
      • ● 11.3 训练题01
      • ● 11.4 训练题02
      • ● 11.5 训练题03
      • ● 11.6 训练题04
      • ● 11.7 训练题05
      • ● 11.8 训练题06
      • ● 11.9 训练题07
      • ● 11.10 训练题08
      • ● 11.11 训练题09
      • ● 11.12 训练题10
    • ● 2024年《移动应用设计与开发》技能大赛赛项规程与样卷
    • ● 2024年《移动应用设计与开发》技能大赛国赛训练题
      • ● 训练题01
      • ● 训练题02
      • ● 训练题03
      • ● 训练题04
      • ● 训练题05
      • ● 训练题06
      • ● 训练题07
      • ● 训练题08
      • ● 训练题09
      • ● 训练题10
2.5  模块五 约束布局

2.4 约束布局

在开发过程中经常能遇到一些复杂的UI,可能会出现布局嵌套过多的问题,嵌套得越多,设备绘制视图所需的时间和计算功耗也就越多。

考虑到了嵌套布局带来的风险,所以用一个相对布局RelativeLayout来装下所有的控件。那么有没有比RelativeLayout使用更灵活,性能更出色的布局呢?

——那就是约束布局。

那什么是约束布局呢?百度查一下!

参考度娘帮我们找到的信息,结合书本内容归纳如下3个方面。

1、约束布局的概念

2、约束布局常用属性

3、约束布局实现

1、约束布局的概念

作为AndroidStudio开发环境的默认布局

约束将SourceTarget连接在一起,Source相对Target的位置是固定的。

为视图添加约束,首先从Design 界面的 Palette 操作栏拖动一个 Button 到蓝图中,添加完后,点击选中它,效果是这样的。

可以看到,上下左右都有一个小圆圈,这个圆圈就是用来添加约束的。

四个角的矩形,是用来扩大或缩小控件的。

为控件添加约束条件时,最少需要两个约束条件(左上、左下、右上、右下)

2、约束布局常用属性,共12

layout_constraintTop_toTopOf       // 将所需视图的顶部与另一个视图的顶部对齐。

layout_constraintTop_toBottomOf    // 将所需视图的顶部与另一个视图的底部对齐。

layout_constraintBottom_toTopOf    // 将所需视图的底部与另一个视图的顶部对齐。

layout_constraintBottom_toBottomOf // 将所需视图的底部与另一个视图的底部对齐。

layout_constraintLeft_toTopOf      // 将所需视图的左侧与另一个视图的顶部对齐。

layout_constraintLeft_toBottomOf   // 将所需视图的左侧与另一个视图的底部对齐。

layout_constraintLeft_toLeftOf     // 将所需视图的左边与另一个视图的左边对齐。

layout_constraintLeft_toRightOf    // 将所需视图的左边与另一个视图的右边对齐。

 layout_constraintRight_toTopOf     //  将所需视图的右边到另一个视图的顶部对齐

layout_constraintRight_toBottomOf  //  将所需视图的右边到另一个视图的底部对齐。

layout_constraintRight_toLeftOf    // 将所需视图的右边与另一个视图的左边对齐。

3、约束布局如何使用?

1.首先在约束布局中的控件四周都会有四个小白点,每一个白点代表着这个控件对齐那一边,比如把左边这个小白点拖到屏幕左边,控件就左对齐了。

2.每当两个在同一个轴线上的小白点被固定,那他就相对固定的那个控件居中了。

3.每个控件必须要同时固定一个不相邻的点,才能确定位置,不然在程序运行的时候会有位置错误。

4.约束布局是可以叠加控件的