zoukankan      html  css  js  c++  java
  • Android开发

    从本篇博客开始我们开始介绍如何使用ConstraintLayout。
    既然ConstraintLayout叫约束布局,首先我们先介绍什么叫约束(Constraints):

    约束(Constraints)

    一个约束表示View之间的"布局约束"关系,以及约束的位置,类似RelativeLayout的"相对"概念。

    编辑器介绍

    在工程中我们新建一个布局activity_main.xml,整个界面如下:

    -w1280

    这是一个编辑器整体的界面,下面我们来介绍一些常用的功能:

    • 设计/文本视图

    -w233

    左下角有视图切换的选项,通过这个选项我们可以切换设计/(代码)文本视图,传统在开发的过程中可能觉得设计视图并不常用,但是在使用ConstraintLayout时它确实很强大,反而可能很少用代码视图了。

    • 设计/蓝图

    -w702

    这里我们可以看到左上角的按钮,这个是用来切换设计界面和蓝图界面的,通常我们需要两个界面都展示,这样我们可以更加清晰地看到各个View的约束。

    • 设备与分辨率适配

    -w361

    这个功能我们可以切换横竖屏等UI的模式,这个功能也可以使我们方便的进行各种UI模式的适配。

    -w509

    在这里我们可以预览当前布局在不同的分辨率下的效果,这个功能在适配的时候非常方便,这里提一下下面的Custom选项,这个功能允许我们将当前布局拖拽成任意的大小:

    -w536

    • 自动约束

    -w700

    这个功能允许编辑器自动进行约束,当我们拖拽一个空间到视图中后,编辑器会自动为我们创建一个约束,可能很多时候我们并不需要自动约束,我们可以点击把它关闭。

    • 约束推断

    -w700

    这个按钮类似PS的魔棒,它的功能是进行约束的推断,如图我拖拽了两个按钮到布局中,一开始并没有任何约束,当我点击了这个按钮后,自动为我生成了如图的约束。

    代码视图

    我们切换到代码视图:

    -w836

    此时我们发现界面的哪些约束在代码中也仅仅增加了几行代码,用来表示当前的约束,仔细观察后我们发现其实都是toStartOf,toEndOf,toTopOf...,这些都是指定的当前View与其它View(或Parent)之间的关系,对比一下RelativeLayout,我们很容易就能明白。

    如果当前没有任何约束的时候,我们观察代码:

    -w826

    注意这些tools:xxx,只是表示View在编辑器的绝对位置,是用来我们设计(拖拽)时使用的。如果不添加约束,运行后只是显示在屏幕的左上角,重叠在一起。

    总结

    本文我们主要讲解了ConstraintLayout编辑器常用功能的使用。这些功能灵活且方便地帮助我们布局页面。下一篇:Android开发 - 使用ConstraintLayout(四)创建基本约束我们将介绍使用基本的约束。

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

  • 相关阅读:
    Js 获取当前时间
    C# 将datatable 转换json
    easyui 文本框验证长度
    js 为label标签和div标签赋值
    easy ui datagrid 设置冻结列
    Ext Grid 加载超时设置timeout: 180000
    jQuery uploadify-v3.1 批量上传
    MVC5+EF6+BootStrap3.3.5 博客系统之项目搭建(一)
    C# list 筛选FindAll
    ExtJS 添加图标icon
  • 原文地址:https://www.cnblogs.com/lloyd-zh/p/9888987.html
Copyright © 2011-2022 走看看