了解过UI设计的同学都知道,在设计的时候,我们经常在界面上拖进一些辅助线来帮我们对齐UI元素,或者方便我们统一的页边距。

在ConstraintLayout的编辑器中,同样也支持这样的功能,我们可以创建一些横向的或者纵向的Guideline,在布局界面的时候可以充分利用这些辅助线,对齐我们的View,避免重复写一些marginXXX。

创建Guideline

打开编辑器,选择Helpers -> Add Vertical Guideline

创建后,默认的Guideline是靠左的:

我们可以拖动来调整这个Guideline的边距,也可以通过右侧的属性栏直接输入边距的大小:

细心的同学可能发现,这里除了设置左边局,还有一个layout_constraintGuide_end,这个是做什么用的呢?没错,如果设置这个值,那么这条Guideline就是靠右的!

还有layout_constraintGuide_percent,从名字就可以看出,这个是按宽度的百分比设置边距,这个值的范围是0-1。(0% - 100%)

设置好辅助线后,我们就可以将View约束到这条辅助线上了。

当调整这条Guideline的边距时,约束对应的所有View也会做相应地改变,非常方便。

我们这里以靠左垂直的Guideline进行举例,读者可以创建一个右边的Guideline或者水平方向的Guideline进行尝试。

总结

Guideline可以帮助我们更方便地进行布局,尤其是当我们的页面左右边距都是一个固定值的时候,还有在设计师调整UI的左右边距的时候,我们也可以非常迅速地做出调整。

下一篇:Android开发 - 掌握ConstraintLayout(八)障碍线(Barrier),我们将介绍Barrier的使用。

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

转载于:https://www.cnblogs.com/lloyd-zh/p/9928777.html

Android开发 - 掌握ConstraintLayout(七)辅助线(Guideline)相关推荐

  1. Android开发 - 掌握ConstraintLayout(六)链条(Chains)

    本文我们介绍链条(Chains),使用它可以将多个View连接起来,互相约束. 可以创建横向的链条,也可以创建纵向的链条,我们以横向的链条举例: 我们先创建三个按钮: 我们选中三个按钮后在上面点右键创 ...

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

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

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

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

  4. Android开发笔记(七十七)图片缓存算法

    ImageCache 由于手机流量有限,又要加快app的运行效率,因此好的app都有做图片缓存.图片缓存说起来简单,做起来就用到很多知识点,可算是集Android技术之大全了.只要理解图片缓存的算法, ...

  5. Android开发笔记(七十三)代码混淆与反破解

    代码混淆 ProGuard是ADT自带的apk混淆器,它的用途有: 1.压缩apk包的大小,能删除无用的代码,并简化部分类名和方法名. 2.加大破解源码的难度,因为部分类名和方法名被重命名,使得程序逻 ...

  6. Android开发中使用七牛云存储进行图片上传下载

    Android开发中的图片存储本来就是比较耗时耗地的事情,而使用第三方的七牛云,便可以很好的解决这些后顾之忧,最近我也是在学习七牛的SDK,将使用过程在这记录下来,方便以后使用. 先说一下七牛云的存储 ...

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

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

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

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

  9. Android开发笔记(七十九)资源与权限校验

    硬件资源 因为移动设备的硬件配置各不相同,为了防止使用了不存在的设备资源,所以要对设备的硬件情况进行检查.一般情况下,前置摄像头.部分传感器在低端手机上是没有的,像SD卡也可能因为用户没插卡使得找不到 ...

最新文章

  1. 只有与众不同才能生存
  2. 2019第十届蓝桥杯C/C++ B组省赛 —— 第四题:数的分解
  3. POJ - 1026 Cipher(置换群的幂)
  4. FIS.js前端开发的使用说明文档
  5. IdentityServer4实战 - 基于角色的权限控制及Claim详解
  6. java cpu_Java High CPU故障排除指南–第1部分
  7. Java 中判断连接Oracle数据库连接成功
  8. mangTomany 自关联之个人感悟
  9. python测控_基于RN8302和Python的电能测控系统设计
  10. ubuntu pcl 点云库使用
  11. root登陆mysql怎么登_怎么登录 mysql
  12. 主流反外挂技术的优缺点比较
  13. 重启docker时:Error starting userland proxy: listen tcp 0.0.0.0:9000: listen: address already in use
  14. DNN实战-猫狗分类
  15. 实名认证API“智慧数据”打造企业服务新入口
  16. 计算机考试工作表怎么做表格步骤,计算机考试Excel表格中换行的方法
  17. 【2022修复版】社群扫码进群活码引流完整运营源码/带视频搭建教程
  18. zblog php getlist,zblog函数:GetArticleList()
  19. base64编码类源代码(C#)
  20. 我是一只IT小小鸟里面牛人的博客

热门文章

  1. HTML DOM教程 21-HTML DOM Event 对象
  2. 网站安全之nginx的配置创建访问网站密码认证
  3. Docker与OpenStack集成实战
  4. 《网站性能监测与优化》一2.3 协作网站
  5. 字节序及字节排序函数
  6. getReadableDatabase() 和 getWritableDatabase()的区别
  7. 几款***常用小工具的使用说明
  8. MySQL Performance-Schema(三) 实践篇
  9. Android studio导入第三方库的各种方法和eclipse的导入方式对比
  10. Android图片查看支持双击放大缩小、多点触摸(多机型测试,长期使用很稳定)