当前标签 / 约束偏移 / 总共1篇

Android内部分享[9]——约束布局 ConstraintLayout 的使用

ConstraintLayout 允许您创建具有平面视图层次结构(没有嵌套视图组)的大型复杂布局。它类似于 RelativeLayout,因为所有视图都是根据兄弟视图和父视图布局之间的关系来布局的,但是它比 RelativeLayout 更灵活,并且更容易在 Android Studio 的布局编辑器中使用。

约束布局概述

要在 ConstraintLayout 中定义视图的位置,必须为视图添加至少一个水平约束和一个垂直约束。每个约束表示到另一个视图、父布局或不可见的连接或基准线(对齐线)。每个约束定义视图沿垂直或水平轴的位置;因此,每个视图的每个轴必须至少有一个约束,但通常需要更多约束。

当您将视图放入布局编辑器时,即使没有约束,它也会停留在原来的位置。然而,这只是为了使编辑更容易;如果在设备上运行布局时视图没有约束,则在[0,0] (左上角) 处绘制。

例如:视图编辑器在 A 下方显示视图 C,但它没有垂直约束

例如:视图 C 现在垂直约束在视图 A 之下

虽然缺少约束不会导致编译错误,但布局编辑器将缺少约束作为工具栏中的错误指示。要查看错误和其他警告,单击 “显示警告和错误”。为了帮助您避免丢失约束,布局编辑器可以使用 Autoconnectinfer constraints 特性自动为您添加约束。

阅读更多