Android 约束者布局

版权声明:个人见解,希望可以帮助大家,共同进步. https://blog.csdn.net/weixin_40783315/article/details/81390231

一.介绍约束布局:

ConstraintLayout 是一个 ViewGroup,它的出现是为了解决复杂布局时,布局嵌套(布局内的布局)过多的问题(嵌套布局会增加绘制界面所需的时间)。它可以根据同级视图和父布局的约束条件为每个视图定义位置,类似于 RelativeLayout 所有视图都是根据兄弟视图和父级布局之间的关系来布局的,但是与 RelativeLayout 相比,它更加灵活,更易于使用。

在 Android 2.2 的版本中,为了给 ConstraintLayout 提供支持,Android 设计了新的布局编辑器。我们可以直接在布局编辑器当中拖动控件、添加约束。在布局编辑器当中所做的操作,XML 布局当中也会自动生成对应的属性。

其中自动生成的一些属性,有可能并不是必须需要的。所以在自动生成属性后,我们还需要手动检查、清理一下我们不需要的属性。或者我们也可以直接在 XML 中编写属性,ConstraintLayout 的属性虽多,但是都是成组的,这也是比较方便的一点。

二 .使用约束布局:

如果我们要在项目中使用 ConstraintLayout,我们需要在 build.gradle 中添加依赖(新版 AndroidStudio 会默认添加):compile 'com.android.support.constraint:constraint-layout:1.0.2'

三 .约束概述:

要在 ConstraintLayout 中定义 View 的位置,必须为该 View 添加至少一个水平和垂直约束(否则该 View 就会在左上角绘制)。该约束对象可以是另一个视图,或者父布局(也就是 ConstraintLayout),或者是不可见的 Guideline (后面会讲 Guideling)等。

如果有缺少的约束(或其他的一些优化问题),编辑器会在右上角显示警告提示(编译器不会错误);

四.自动添加约束的两种方式

1.Autoconnect:这是一个独立的功能,默认是关闭的。我们可以开启它,开启后,它将自动为新添加的视图创建两个或者更多的约束。

2.Infer Constraints:为当前所有的视图自动添加约束



 

猜你喜欢

转载自blog.csdn.net/weixin_40783315/article/details/81390231