Relative positioning 相对位置
layout_constraintLeft_toLeftOf 将所需视图的左边与另一个视图的左边对齐
layout_constraintLeft_toRightOf 将所需视图的左边与另一个视图的右边对齐
layout_constraintRight_toLeftOf 将所需视图的右边与另一个视图的左边对齐
layout_constraintRight_toRightOf 将所需视图的右边与另一个视图的右边对齐
layout_constraintTop_toTopOf 将所需视图的顶部与另一个视图的顶部对齐
layout_constraintTop_toBottomOf 将所需视图的顶部与另一个视图的底部对齐
layout_constraintBottom_toTopOf 将所需视图的底部与另一个视图的顶部对齐
layout_constraintBottom_toBottomOf 将所需视图的底部与另一个视图的底部对齐
layout_constraintBaseline_toBaselineOf 基线约束控键,该控键帮助你对齐任意两个widget的文字部分,与widget的大小无关。例如你有两个不同尺寸的widget但是你想要他们的文字部分对齐
layout_constraintStart_toEndOf 在指定View的右边,建议使用start,end,关键在于适配从RTL模式的文字展示,作用同left,right
layout_constraintStart_toStartOf 和指定view左对齐
layout_constraintEnd_toStartOf 视图右边和指定视图左边对齐
layout_constraintEnd_toEndOf 视图右边和指定视图右边对齐
Margins 边框
android:layout_marginStart 本元素离开始的位置的距离 在指定View的右边,建议使用start,end,关键在于适配从RTL模式的文字展示,作用同left,right
android:layout_marginEnd 本元素离结束位置的距离
android:layout_marginLeft 本元素离开始的位置的距离
android:layout_marginTop 本元素离顶部的位置的距离
android:layout_marginRight 本元素离结束的位置的距离
android:layout_marginBottom 本元素离底部的位置的距离
Centering positioning
主要使用比例的方式来确定控件的相对位置,app:layout_constraintHorizontal_bias 和 app:layout_constraintVertical_bias默认都是百分之五十,即都是水平或者垂直方向居中,下面的例子实现的效果是水平方向比较靠左,百分之30的偏移量,垂直方向比较靠上,百分之40的偏移量。
Circular positioning
圆形定位,可以约束一个组件中心到另外一个组件中心的的角度和距离,允许你在一个圆上定位组件
layout_constraintCircle : 其他组件id
layout_constraintCircleRadius : 到其他组件中心的半径距离
layout_constraintCircleAngle : 想对于其他组件的角度(0到360)
Visibility behavior
View.GONE 和View.VISIBLE实现了控件的隐藏和展示效果
Dimension constraints
尺寸约束。可以定义最大和最小约束
android:minWidth 设置最小宽度
android:minHeight 设置最小高度
android:maxWidth 设置最大宽度
android:maxHeight 设置最大高度
android:layout_width 设置组件宽度
android:layout_height 设置组件高度
WRAP_CONTENT 组件会自己计算其大小
如果width和height都设置为0,那么会等同于MATCH_CONSTRAINT
Important: MATCH_PARENT is not recommended for widgets contained in a ConstraintLayout. Similar behavior can be defined by using MATCH_CONSTRAINT with the corresponding left/right or top/bottom constraints being set to "parent".
MATCH_PARENT不推荐在constraintlayout中使用,可以使用相对于parent左右/上下 约束来布局
Enforcing constraints 强制布局
在 1.1 版本之前,如果将控件的尺寸设置为wrap_content,那么对控件设置高度和宽度约束是不起作用的,而强制约束就用于使控件在设置wrap_content的情况下约束依然生效
app:layout_constrainedHeight="true | false"
app:layout_constrainedWidth="true | false"
如果声明了以上两个属性都是true,那么就会使得如下对应的几组约束生效,从而达到对warp_content类型的内容进行宽和高的修改
layout_constraintWidth_min 设置最新宽度
layout_constraintHeight_min 设置最小高度
layout_constraintWidth_max 设置最大宽度
layout_constraintHeight_max 设置最大高度
layout_constraintWidth_percent 设置相对于parent的宽度比例 (取值范围0~1)
layout_constraintHeight_percent 设置相对于parent的高度比例 (取值范围0~1)
上面没有添加强制约束,可以看到即便是使用了constrainHeightMin和constrainWidthMax也是没有作用的。修改为以下方式后就可以了。
Ratio
你也可以定义一个组件的某个尺寸,作为另一个尺寸的比例值。为了达到这个效果,你必须设置至少一个尺寸值为0dp然后使用layout_constraintDimensionRatio来设置比例。通常用于组件的宽和高设置。比如:
<Button android:layout_width="wrap_content"
android:layout_height="0dp"
app:layout_constraintDimensionRatio="1:1" />
会将button的高度设置为和宽度一样。同时,宽度和高度可以同时都设置为0dp,然后通过这个属性来设置宽度和高度。可以通过添加"W"或者"H"前缀来设置宽高比。比如:
<Button android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintDimensionRatio="H,16:9"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
这个就设置了button的高度为16比9
Chains
链可以提供为单一坐标轴(水平或者垂直)组形式的操作。另外一个坐标轴的约束是独立的。
创建链
Android chain是首个运用区块链技术底层,所构建的一个机器人自治矩阵系统。打造一条服务于全球人工智能行业的去中心化和点对点交易生态,创建一个服务于全球的人工智能群链,应用于智能机器人领域,致力于推动人工智能经济和其产业链的发展。 Android chain所针对的机器人是属于智能级的服务型机器人,每一个机器人都可以作为一个单独的节点运作,整套系统秉承“分布式”的原理来进行构架。每一个机器人其实都是其所服务主体数据的存储点,也是数据的价值承载,它们天然具有上传数据,下载数据,管理数据和分析数据的功能和优势,并且和传统的计算机相比较,它们对于区块链的应用落地更具有优势,所有链的价值能够被更为直接和便捷地转换为机器与人,机器与机器之间的功能交互。