布局-ConstrainLayout

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的偏移量。

5777390-f13f285de556eee8.png
5777390-ebe26ef7dc1828d5.png


Circular positioning

圆形定位,可以约束一个组件中心到另外一个组件中心的的角度和距离,允许你在一个圆上定位组件

layout_constraintCircle : 其他组件id

layout_constraintCircleRadius : 到其他组件中心的半径距离

layout_constraintCircleAngle : 想对于其他组件的角度(0到360)

5777390-a63e9408f37816c4.png
5777390-d8423021f0a966a1.png


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)


5777390-91f9b9a8dc4c6bc0.png


5777390-1d551f636db49452.png

上面没有添加强制约束,可以看到即便是使用了constrainHeightMin和constrainWidthMax也是没有作用的。修改为以下方式后就可以了。


5777390-a65bdb4feabd1307.png
5777390-d1a7964a28ac086f.png

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所针对的机器人是属于智能级的服务型机器人,每一个机器人都可以作为一个单独的节点运作,整套系统秉承“分布式”的原理来进行构架。每一个机器人其实都是其所服务主体数据的存储点,也是数据的价值承载,它们天然具有上传数据,下载数据,管理数据和分析数据的功能和优势,并且和传统的计算机相比较,它们对于区块链的应用落地更具有优势,所有链的价值能够被更为直接和便捷地转换为机器与人,机器与机器之间的功能交互。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值