本文我们介绍链条(Chains),使用它可以将多个View连接起来,互相约束。

可以创建横向的链条,也可以创建纵向的链条,我们以横向的链条举例:

  1. 我们先创建三个按钮:
  1. 我们选中三个按钮后在上面点右键创建链条:
  1. 创建后我们发现这三个View平均分布地排列了:

最简单的使用是平均分布,当然也可以不平均分布,具体看约束的具体设置,比如将第一个Button的marginEnd设置成10后链条会自动地分布每个View的位置。

这使得分布View变得非常灵活,并且从某种程度上可以取代LinearLayout的功能。

除了如上图的平均分布外,链条一共有三种模式可以切换,注意上图中的链条图标:

点击这里可以循环切换不同的分布模式:

  • spread(平均分布)
  • spread_inside(中间平均分布)
  • packed

总结

本文以横向的链条进行举例,纵向链条的使用与横向同样,读者可以结合起来使用,会发现很多有趣的使用方式。

链条在我们实际开发的过程中非常常用,配合使用这几种分布模式可以灵活方便地进行布局。

下一篇:Android开发 - 掌握ConstraintLayout(七)辅助线(GuideLine),我们将介绍Guideline的使用。

如有更多疑问,请参考我的其它Android相关博客:我的博客地址

Android开发 - 掌握ConstraintLayout(六)链条(Chains)相关推荐

  1. Android开发 - 掌握ConstraintLayout(四)创建基本约束

    上一篇我们介绍了编辑器的基本使用,本文我们介绍创建基本的约束. "约束"表示View之间的位置关系.当我们在ConstraintLayout布局中创建View时,如果我们没有添加任 ...

  2. Android开发 - 掌握ConstraintLayout(七)辅助线(Guideline)

    了解过UI设计的同学都知道,在设计的时候,我们经常在界面上拖进一些辅助线来帮我们对齐UI元素,或者方便我们统一的页边距. 在ConstraintLayout的编辑器中,同样也支持这样的功能,我们可以创 ...

  3. Android开发 - 掌握ConstraintLayout(一)传统布局的问题

    在传统的Android开发中,页面布局占用了我们很多的开发时间,而且面对复杂页面的时候,传统的一些布局会显得非常复杂,每种布局都有特定的应用场景,我们通常需要各种布局结合起来使用来实现复杂的页面.随着 ...

  4. Android开发笔记(六十一)文件下载管理DownloadManager

    下载管理DownloadManager 文件下载其实是网络数据访问的一种特殊形式,使用普通的http请求也能完成,就是实现起来会繁琐一些.因为下载功能比较常用,而且业务功能相对统一,所以从Androi ...

  5. Android开发问题集锦(六)--获取北斗卫星定位信息

    Android开发问题集锦六--获取北斗卫星定位信息 程序之美 程序之美 获取北斗卫星定位信息需要硬件的支持,市面上的手机设备有支持北斗定位的,有不支持的,但北斗定位在很多特定的业务需求中是很重要的, ...

  6. android 线性布局蒙层,Android开发 - 掌握ConstraintLayout(一)传统布局的问题

    在传统的Android开发中,页面布局占用了我们很多的开发时间,而且面对复杂页面的时候,传统的一些布局会显得非常复杂,每种布局都有特定的应用场景,我们通常需要各种布局结合起来使用来实现复杂的页面.随着 ...

  7. Android开发笔记(六十二)HTTP数据格式的解析

    json解析 android有两种主流的json解析方案,一种是sdk自带的由Google提供的json(包名前缀为org.json),另一种是Alibaba提供的第三方jar包fastjson(包名 ...

  8. android.复杂动画实现,Android开发 - 掌握ConstraintLayout(十一)复杂动画!如此简单!...

    介绍 本系列我们已经介绍了ConstraintLayout的基本用法.学习到这里,相信你已经熟悉ConstraintLayout的基本使用了,如果你对它的用法还不了解,建议您先阅读我之前的文章. 使用 ...

  9. Android开发笔记(六十九)JNI实战

    NDK NDK的用途 NDK全称为Native Development Kit,意即原生的开发工具,NDK允许开发者在APP中通过C/C++代码执行部分程序.它是Android提供的方便开发者通过JN ...

最新文章

  1. ZooKeeper最佳指南--云平台技术栈11
  2. POJ2349二分+并查集,类似最小树的贪心
  3. visio2013跨线问题
  4. java 子类重定义变量_java子类对象和成员变量的隐写方法重写
  5. 计算机设计文献参考,优秀计算机设计论文参考文献 计算机设计论文参考文献数量是多少...
  6. mysql优化之索引_mysql优化之索引
  7. 红尘EMLOG技术导航分类网主题模板
  8. Python 之 %s字符串、%d整型、%f浮点型
  9. linux 路径 冒号_软件测试必须掌握的linux命令大全
  10. 国际项目投标那些事(四)怎么读海外项目招标文件
  11. 一文解决十大排序算法(动画图解)
  12. Oracle 卸载步骤详解
  13. 贴片电阻系列命名标准
  14. erlang中的ets和dets
  15. 利用重力加速度传感器,获取芯片相对水平位置的角度
  16. 有一篇文章,共有3行文字,每行有最多80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。
  17. linux配置命令的各列解释,很实用的linux运维常用命令及知识 | 旺旺知识库
  18. 视频教程-新React+VUE前端教程入门到精通-Vue
  19. 初次爬虫:读取PDF转成图片,再提取图片里的文字信息
  20. 数据结构(王道版本,主讲人:闲鱼学长)P7-P18

热门文章

  1. 虹口区巡检机器人_5G智能巡检机器人就在身边
  2. 计算机实战项目之 [含论文+辩论PPT+源码等]小程序食堂订餐点餐项目+后台管理|前后分离VUE[包运行成功
  3. 新员工入职一个月总结
  4. VBA典型的技巧与示例
  5. dell服务器 指示灯_dell服务器i(图标)的指示灯一直闪烁,怎么回事
  6. 项目管理证书 PMP 的含金量高吗?
  7. 苹果Macbook Air怎么安装Win7系统图解教程
  8. Redis缓存击穿,缓存穿透,缓存雪崩,附解决方案
  9. 解决百度云限速以及网页上无法下载大文件的问题
  10. PHP网站配置(系统设置)数据库表结构及实现