Android 常用布局之约束布局【ConstraintLayout】

247 阅读2分钟

一、测试效果图:

二、技术点

1、存在原因:

常见的布局有FrameLayout、LinearLayout、AbsoluteLayout、RelativeLayout、TableLayout,这些布局使用起来,对于简单布局的界面,可以很迅速实现目标效果。但对于页面内容比较复杂的,层级比较多的页面,虽然也可以实现,但如果想在Android Studio 可视化界面中实现的话,比较不好操作了。基于这个背景,就出现了ConstraintLayout。Android操作界面见图中标注的红框1、2区域。

2、操作示例

2.1 基本使用示例

A 拖动一个按钮进入布局控件中,比如一个Button,与其他布局添加按钮一致,拖进去即可; B 默认控件是不会添加任何任何约束的,控件默认位置在约束布局页面是在左上角展示。想要添加约束,可以点击按钮控件,在控件的上下左右会看到各有一个圆圈,这圆圈就是用来添加约束的。空心圆表示未添加约束,实心圆表示已存在约束。

C.鼠标挪到约束点【约束圆圈】,按住鼠标左键拖动,拖动到目标约束位置,比如设置按钮贴到页面的左下角,如下图操作即可。:[图片来源:blog.csdn.net/guolin_blog… ]

D.如果想在一个按钮的正下方一定距离添加一个按钮,可以参考下图操作

E.如果想删除某个约束,可以选中该约束,右键,选择“Delete”即可。 当然也可以在布局属性视图中点击"x"也可以。

image.png

2.2 透视试图介绍

2.3 辅助线 Guidelines

2.4 自动添加约束

自动添加约束的方式主要有两种,一种叫Autoconnect,一种叫Inference,我们先来看第一种。

三、对比RelativeLayout优缺点

1、复杂页面可视化方便

2、布局之间相对位置更好控制

3、动态创建布局方便,对控件的控制能力更加强大,可以实现动画效果

四、参考:

ConstraintLayout完全解析

blog.csdn.net/guolin_blog…

RelativeLayout 对比ConstraintLayout

www.jianshu.com/p/6ec3d71ea…

Android基本的五大布局

blog.csdn.net/weixin_4456…