ConstraintLayout布局的使用总结

本文根据本人学习和使用记录的内容。
ConstraintLayout,比较牛逼的一种布局,结合了其他几种布局的优点,也可以看做RelativeLayout的升级版。
使用ConstraintLayout需要引入:

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

首先很重要也是很基础的几个属性

app:layout_constraintTop_toTopOf="@id/id2"
app:layout_constraintTop_toBottomOf="@id/id2"
app:layout_constraintLeft_toLeftOf="@id/id2"
app:layout_constraintLeft_toRightOf="@id/id2"
app:layout_constraintRight_toLeftOf="@id/id2"
app:layout_constraintRight_toRightOf="@id/id2"
app:layout_constraintBottom_toTopOf="@id/id2"
app:layout_constraintBottom_toBottomOf="@id/id2"
app:layout_constraintBaseline_toBaselineOf="@id/id2"
app:layout_constraintStart_toEndOf="@id/id2"
app:layout_constraintStart_toStartOf="@id/id2"
app:layout_constraintEnd_toStartOf="@id/id2"
app:layout_constraintEnd_toEndOf="@id/id2"

这几个属性可以这样理解:
以layout_constraintTop_toTopOf="@id/id2"为例,此view的top和id2的view的top对齐。
当然也可以设值为parent(layout_constraintTop_toTopOf=“parent”),意思是与父容器的top对齐。

example:
textview只设置了 app:layout_constraintTop_toTopOf=“parent”。


效果是与父view的top对齐,那效果就和默认的对齐方式一致。
ConstraintLayout布局的使用总结_第1张图片
再设置 app:layout_constraintBottom_toBottomOf="parent"底部与父view的bottom对齐


ConstraintLayout布局的使用总结_第2张图片
再设置:
app:layout_constraintTop_toTopOf=“parent”
app:layout_constraintBottom_toBottomOf=“parent”
app:layout_constraintLeft_toLeftOf=“parent”
app:layout_constraintRight_toRightOf=“parent”


ConstraintLayout布局的使用总结_第3张图片

  • Margin
    仍然使用layout_margin,但是必须要设置layout_constraint,不然layout_margin会失效。
  • bias偏移量
    有两个属性,取值为0-1。
app:layout_constraintHorizontal_bias="0.3"
app:layout_constraintVertical_bias="0.6"

分别表示横向和纵向的偏移量,设置为0.5就表示居中。
但是光设置这两个属性还是不行的,还得设置layout_constraintX_toXOf才会生效。

  • 环形定位
    就是这3个属性,要一起使用
app:layout_constraintCircle="@id/text1"
app:layout_constraintCircleAngle="45"
app:layout_constraintCircleRadius="150dp"

layout_constraintCircle:圆角控件的ID
layout_constraintCircleAngle:角度(正上方是0度)
layout_constraintCircleRadius:半径

你可能感兴趣的:(android)