高级UI

Android ConstraintLayout约束布局

2020-04-23  本文已影响0人  啥也写不出来的安卓技术人员

约束布局ConstraintLayout 是一个ViewGroup,可以在Api9以上的Android系统使用它,它的出现主要是为了解决布局嵌套过多的问题,以灵活的方式定位和调整小部件

为什么要用ConstraintLayout

在开发过程中经常能遇到一些复杂的UI,可能会出现布局嵌套过多的问题,嵌套得越多,设备绘制视图所需的时间和计算功耗也就越多

ConstraintLayout使用起来比RelativeLayout更灵活,性能更出色!

ConstraintLayout可以按照比例约束控件位置和尺寸,能够更好地适配屏幕大小不同的机型。

                                                                                                        抄袭--GSDN

约束布局的使用

    新版Studio 一般默认有ConstraintLayout的依赖

普通版本依赖

implementation 'com.android.support.constraint:constraint-layout:1.1.3'

接下来

ConstraintLayout的使用

layout_constraintLeft_toLeftOf="@id/t1" 

执行当前控件的左边框与指定控件的左边框 对齐

layout_constraintLeft_toRightOf ="@id/t1" 

执行当前控件的右边框与指定控件的右边框 对齐

layout_constraintRight_toRightOf="@id/t1"

执行当前控件的右边框与指定控件的右边框 对齐

layout_constraintRight_toLeftOf="@id/t1" 

执行当前控件的右边框与指定控件的左边框 对齐

layout_constraintTop_toTopOf="@id/t1"

执行当前控件的上边框与指定控件的上边框 对齐

layout_constraintTop_toBottomOf="@id/t1"

执行当前控件的上边框与指定控件的下边框 对齐

layout_constraintBottom_toBottomOf="@id/t1"

执行当前控件的下边框与指定控件的下边框 对齐

layout_constraintBottom_toTopOf="@id/t1"

执行当前控件的下边框与指定控件的上边框 对齐

parent属性 让当前控制的上下左右与父控件对齐

上边的属性看一眼 就差不多了   下面的属性 需要记一记

文本定位

layout_constraintBaseline_toBaselineOf="@id/t1"

执行当前控件的内容位置与指定控件的内容位置 水平对齐

控件与控件的水平对齐

layout_constraintStart_toStartOf="@id/t1"

执行当前控件的起始位置与指定控件的起始位置  对齐

layout_constraintStart_toEndOf="@id/t1"

执行当前控件的起始位置与指定控件的结尾位置  对齐

layout_constraintEnd_toEndOf="@id/t1"

执行当前控件的结尾位置与指定控件的结尾位置  对齐

layout_constraintEnd_toStartOf="@id/t1"

执行当前控件的结尾位置与指定控件的起始位置  对齐

角度定位

app:layout_constraintCircle="@id/t1"

app:layout_constraintCircleAngle="0"

app:layout_constraintCircleRadius="100dp"

这三个必须配合使用

  第一个指定控件的中间位置

  第二个是偏移的角度

  第三个是偏移的半径

边距

android:layout_marginStart 

android:layout_marginEnd 

android:layout_marginLeft 

android:layout_marginTop 

android:layout_marginRight 

android:layout_marginBottom

这几个属性 在线性布局与相对布局用的很多了 不多bb

要在 ConstraintLayout约束布局里使用 必须在约束该控件在布局中的显贵位置 否则不生效

goneMargin

goneMargin主要用于约束的控件可见性被设置为gone的时候使用的margin值

大白话:两个控件 左右排列  左边控件隐藏后 设置了goneMarginleft=10dp

这个属性 右边控件会移动到距离左边10dp的位置     算了解释不清 看图

goneMargin

偏移

使用前要先约束一下控制的位置

layout_constraintHorizontal_bias="0.5"

水平平移  从0到1   0为当前控件的左边   1为当前控件的右边

layout_constraintVertical_bias="0.5"

垂直平移  从0到1   0为当前控件的上边   1为当前控件的下边

尺寸约束

1 wrap_content 根据内容自动填充

android:minWidth 最小的宽度

android:minHeight 最小的高度

android:maxWidth 最大的宽度

android:maxHeight 最大的高度

设置上这些属性  layout_width和layout_height 就被约束了

对于我这个目前小白来说应该够用了  

后边陆续添加

上一篇 下一篇

猜你喜欢

热点阅读