Android 新出ConstraintLayout布局简介

1、ConstraintLayout(约束布局) 创建的意义

  • 1、是为了解决创建一个庞大而复杂的视图层
  • 2、是为了创建布局更加简化,做到可以无技术的开发布局,完全手工拖拽不需要编写xml代码
  • 3、ConstraintLayout兼容2.3以上的所有版本

2、约束概述

  1. 要定义视图的位置ConstraintLayout,必须添加两个或者更多的约束条件。每一个约束都是其他的view,the parent layout(在ConstraintLayout中),有一种无形的连接。每个约束都制约着视图的水平位置和垂直位置,所以每个视图就是每个轴的最小约束。
  2. 如果只是添加了一个视图在layout中,那是没有添加约束的。没有约束时,当运行layout在设备上时它会显示在左上角[0,0]坐标处,因为他没有约束。

  3. 虽然缺少约束但是不会造成 编译错误

3、使用 ConstraintLayout 到项目中

  1. 确保你有最新的约束布局库文件
    1. 点击 tools->Android->SDK manage
    2. 点击sdk tools选项卡,就是中间的那一项
    3. 查看是否扩展库文件
      这里写图片描述
    4. 点击ok
    5. 添加
      dependencies {
      compile ‘com.android.support.constraint:constraint-layout:1.0.0-alpha8’
      }
    6. 同步project和gradle文件
  2. 切换布局文件,把LinearLayout或者其他的目前的layout都可以自己点击转换
    1. 把布局管理器切换到Design(设计)状态下
    2. 在组件树窗口中,右键单击该布局并单击转换布局,以ConstraintLayout
  3. 创建一个约束布局
    1. 在项目窗口中单击任意位置,然后选择 layout文件 > New > XML > Layout XML.
    2. 为 布局输入文件名,然后输入“android.support.constraint.ConstraintLayout”为根标签
    3. 单击finish
  4. 创建好布局之后就是添加约束

    1. 穿件约束时,请记住一下规则
    2. 每个视图必须至少有两个制约因素:一横一纵
    3. 每个约束手柄 只能有一个约束,但可以在同一锚点创建多个约束。就是一个小圆圈只能穿件一个约束。
    4. 要删除一个约束,选择视图 ,单击约束句柄
    5. 如果一个视图添加相对约束,约束线成为波浪像弹簧一样,表示位置的力,
      这里写图片描述
    6. 大幅度
    7. 基本的约束
      1. layout约束,也就是parent约束,相对于ConstraintLayout,下图中左侧被连接到母体布局的左边缘
      2. 位置约束,相对于其他view之间的约束,下图中Button被约束在ImageView的24dp下方
      3. 水平对齐约束
      4. 偏移对齐约束
      5. 基线对齐约束
      6. 约束指南,可以穿件水平指引线或者垂直指引线,(创建方法:点击蓝图右击选择 ADD Vertical GuideLine,或者ADD horizontal GuideLine),或者是在上边的标题栏上有选择 按钮。
      7. 使用自动连接或者推断约束
        自动连接:自动创建两个或多个约束视图在布局中,自动连接默认情况下禁用。可以单击(Turn on AutoConnect)这个图标进行打开。
        推断约束:
        点击这按钮打开
      8. 调整视图大小

        (1)视图的大小,(2)空间,和 (3)约束偏移。

    灰色方块代表选定的视图。平方内的符号表示如下的高度和宽度设置:
    包装内容:根据需要,以适应其内容的视图扩展完全吻合。
    任何尺寸:视图扩展正是因为需要匹配的约束。实际值是0dp因为视图没有期望的尺寸,但它调整大小为需要满足的约束。然而,如果给定的尺寸只有一个约束,那么该视图扩展以适应其内容。想起来了另一种方式是“匹配的约束”(代替match_parent),因为它扩大了尽可能多的占每个约束和利润率的限制后视图。
    修正:你在下面列出或通过调整在编辑器中查看文本框的尺寸。

    9. 调整约束偏移
    当您添加约束到视图的两侧(和同尺寸的视图大小或者是“固定”或“包装内容”),视图成为默认的两个定位点之间的中心。当一个视图居中,偏压为50%。您可以通过拖动在偏置滑块调节偏置属性窗口或通过拖动视图
    

总结:第一次翻译,用了半天左右,有些自己也没懂,所以翻译的不是很清楚,但是我觉得无关紧要了,这里面我觉得最好的功能就是那个指引线约束,也就是第6点,这个布局以后可以直接交给美工了,他再也不需要知道怎么写代码了,每个都可以直接使用拖拽式开发。若是一个程序员的话,用这个方法显得麻烦。个人的拙见,一个会ps的UI,很容易上手给我们做页面,这也是google为了分工更加明确,毕竟现在的app代码动辄都是几十万行,工程很庞大,所以也是有点让手机分出前后端的意思吧。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值