其他分享
首页 > 其他分享> > Android-约束布局ConstraintLayout的使用

Android-约束布局ConstraintLayout的使用

作者:互联网

在这里插入图片描述

1. 是什么

简单一句话说明就是google在17年推出的一个新的布局,就像相对布局和线性布局一样。

2.有什么用,我干嘛用它

3.使用步骤和一些平时使用

添加依赖:(现在项目已经默认添加了)

implementation 'androidx.constraintlayout:constraintlayout:2.0.4'

下面说一下常用的一些功能和部件:

-下面是他的基本的约束属性,在约束布局中,至少需要建立两个方向的约束,横向和竖向。
-从字面意思基本就能理解了,就是跟谁建立约束,它的值可以填parent和相对控件的@+id/xxx。
-Android有LTR和RTL两种布局方式,在LTR中 left = start,在RTL中 right = start。如果在布局的时候需要适配不同的国家,建议使用start和end。
-如果你喜欢界面拖拽的方式,可以选择在Design界面进行上下左右的拖拽建立约束,也是很方便的。

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_constraintStart_toEndOf
layout_constraintStart_toStartOf
layout_constraintEnd_toStartOf
layout_constraintEnd_toEndOf
layout_constraintBaseline_toBaselineOf 

-特别说明一下layout_constraintBaseline_toBaselineOf
基线的对齐,比如两个文本大小不一致,但是要显示为文字底部平行,可以用此属性
在这里插入图片描述

-如果要实现水平居中,很简单,只需要建立左右约束即可
在这里插入图片描述

-如果要实现一个控件相对与上方的图片下方的线垂直居中,你就会发现它的强大之处,只需要上下方建立对上方图片的下方约束即可。
在这里插入图片描述

-属性主要有3个
layout_constraintCircle(相对的控件id)
layout_constraintCircleAngle(角度,从正上方顺时针)
layout_constraintCircleRadius(中心点距离)

如图:
在这里插入图片描述

layout_goneMarginStart
layout_goneMarginEnd
layout_goneMarginLeft
layout_goneMarginTop
layout_goneMarginRight
layout_goneMarginBottom

-spread—— 展开元素 (默认)
在这里插入图片描述

-spread_inside—— 展开元素,但链的两端贴近parent
在这里插入图片描述

-packed—— 链的元素将被打包在一起
在这里插入图片描述

-barrierDirection 方向
-constraint_referenced_ids 建立屏障的控件id用“,”进行分割
在这里插入图片描述

-constraint_referenced_ids 绑定的id,用“,”进行分割
在这里插入图片描述

-orientation 水平和垂直方向
-layout_constraintGuide_begin 开始位置,可以理解为边距
-layout_constraintGuide_end 结束位置,如果是竖直的,则会直接跑到右边,这两个设置一个即可,都设置begin生效
在这里插入图片描述

-layout_constraintGuide_percent 距离百分比
在这里插入图片描述

在这里插入图片描述

button.setOnClickListener {
            placeholder.setContentId(R.id.imageView)
        }

-flow_wrapMode 有三种
none 所有引用的视图以一条链的方式进行布局,如果内容溢出则溢出内容不可见
在这里插入图片描述

chain 当出现溢出时,溢出的内容会自动换行,以新的一条链的方式进行布局
在这里插入图片描述

aligned 同 chain 类似,但是不以行而是以列的方式进行布局
在这里插入图片描述

-constraint_referenced_ids 设置id,这些控件不需要设置左右上下方向的约束。
-flow_horizontalGap 水平间隔
-flow_verticalGap 竖直间隔
-flow_HorizontalStyle 链的类型,与上面chain一样,在flow_wrapMode="chain"时,还可以设置flow_firstHorizontalStyle 第一行的链类型

总结

以上就是ConstraintLayout常用的一些属性和控件,并且伴随着MotionLayout,做动画非常的强大。没用过的赶紧行动起来吧。

标签:控件,layout,布局,flow,约束,Android,ConstraintLayout,id
来源: https://blog.csdn.net/weixin_44199766/article/details/118579362