当前位置:   article > 正文

android约束布局的优缺点,Android约束布局ConstraintLayout由浅入深的使用总结

android layout_constraintright_toleftof

优缺点

优点

极大程度减少布局层级

可以实现一些其他布局管理器不能实现的样式

缺点

每个被参考的控件都需要设置id

以下所有描述都是针对ConstraintLayout下子控件的,通用的属性在此不再叙述,只针对ConstraintLayout独有属性进行探讨。

基本用法

一、定位

1. 相对定位

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:文字Baseline对齐

layout_constraintStart_toEndOf

layout_constraintStart_toStartOf

layout_constraintEnd_toStartOf

layout_constraintEnd_toEndOf

以下代码表示tv2顶部与tv1顶部对齐

...

>

android:id="@+id/tv1"

...

/>

android:id="@+id/tv2"

...

app:layout_constraintTop_toTopOf="@id/tv1" />

2. 圆形定位

layout_constraintCircle : 参考控件的id

layout_constraintCircleRadius : 本控件与参考控件中心点间距

layout_constraintCircleAngle : 角度0~360

bae856661258

一图胜千言

以下代码表示Textview中心位于id为targetId控件的中心距离30dp角度为30度的位置

...

>

...

app:layout_constraintCircle="@id/targetId"

app:layout_constraintCircleAngle="30"

app:layout_constraintCircleRadius="30dp"/>

3. 百分比定位(bias)

layout_constraintHorizontal_bias

layout_constraintVertical_bias

取值范围0~1,默认值0.5

以下代码表示Textview中心位置位于ConstraintLayout宽度的30%处

...

>

...

app:layout_constraintHorizontal_bias="0.3"

app:layout_constraintLeft_toLeftOf="parent"

app:layout_constraintRight_toRightOf="parent"/>

4. 居中对齐

所有居中对其需要设置对应方向尺寸大小为wrap_content或固定值

水平居中

以下代码表示Textview相对于ConstraintLayout水平居中

...

>

...

android:layout_width="60dp"

app:layout_constraintLeft_toLeftOf="parent"

app:layout_constraintRight_toRightOf="parent"/>

注意:

这里的left和right换成start和end也是可以的

这里的parent换成参考控件的id也是可以的

垂直居中

以下代码表示Textview相对于ConstraintLayout垂直居中

...

>

...

android:layout_height="60dp"

app:layout_constraintTop_toTopOf="parent"

app:layout_constraintBottom_toBottomOf="parent"/>

注意:这里的parent换成参考控件的id也是可以的

5. 单边对齐

以下代码表示tv2和tv3与tv1顶部对齐

...

>

android:id="@+id/tv1"

...

/>

android:id="@+id/tv2"

...

app:layout_constraintTop_toTopOf="@id/tv1" />

android:id="@+id/tv3"

...

app:layout_constraintTop_toTopOf="@id/tv1" />

注意:这里写法比较多样,以上展示的都是以统一的单个控件为参考点,也可以以相关控件为参考点,比如这里的tv3可以与t

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/225596?site
推荐阅读
相关标签
  

闽ICP备14008679号