ConstraintLayout约束布局简单使用

文章目录

  • 布局介绍
  • 开始使用
    • androidx配置
    • 有趣功能
    • 效果展示
    • 完整代码
  • 参考博文
  • 个人总结

布局介绍

ConstraintLayout约束布局的出现是为了简化布局嵌套,减少绘制时间,提高绘制效率,可以在api>9的Android机器上使用,更主要的是约束布局可以尽情地让你发挥拖拽的本领,在界面上添加约束,抛开繁琐的xml布局,当然它也可以用xml进行布局

开始使用

androidx配置

在Android Studio2.3以后,新建Project的时候默认布局就是约束布局,不过却是support库下的约束布局,这里我们可以切换成androidx库下的约束布局,切换方法如下:
1、配置一下gradle.properties

android.useAndroidX=true
android.enableJetifier=true

2、执行Refactor -> Migrate to AndroidX 重构>迁移到Androidx操作,然后会弹出一个菜单,默认勾选备份项目文件,如果不想备份,可以取消勾选,然后点击Migrate按钮即可开始迁移,之后可以去module下build.gradle中修改一下版本号,当然也可以不修改,修改只是为了用最新版本的库
ConstraintLayout约束布局简单使用_第1张图片

有趣功能

1、相对定位

android:id="@+id/tv2"
 app:layout_constraintLeft_toLeftOf="parent"
 app:layout_constraintLeft_toRightOf="@+id/tv1"

第一行代码的意思是让tv2在父布局的左边,第二行代码的意思是让tv2在tv1的右边,并且tv1在tv2的左边

2、角度定位

		android:id="@+id/tv6"
        app:layout_constraintCircle="@id/tv5"
        app:layout_constraintCircleAngle="70"
        app:layout_constraintCircleRadius="100dp"

第一行代码的意思是tv6以tv5为圆心
第二行代码的意思是tv6以tv5为圆心的基础上偏移角度70度,竖直方向是零度,顺时针旋转
第三行代码的意思,tv6以tv5为圆心的基础上偏移角度70度,并且在距离圆心100dp的位置上,这样就能固定一个控件的位置

3、辅助工具
(1)GuideLines
就是用来精确的寻找居中位置,最好通过百分比来确定
ConstraintLayout约束布局简单使用_第2张图片
添加完以后可以通过点击GuideLine最上方的三角来改变单位为百分比

(2)自动添加约束
a、AutoConnect:自动为某一个控件添加约束
b、Infer:自动为界面所有元素添加合适的约束

效果展示

ConstraintLayout约束布局简单使用_第3张图片
ConstraintLayout约束布局简单使用_第4张图片

完整代码




    

    

    

    

    

    

    

    

    

    

    

    

    

参考博文

1、Android新特性介绍,ConstraintLayout完全解析
2、约束布局ConstraintLayout看这一篇就够了

个人总结

1、耦合性较高,改一发而动全身,特别是相对定位那一块
2、自主性较强,想放哪儿放哪儿

你可能感兴趣的:(Android,Java)