在左上angular的ConstraintLayout视图
每次我在ConstraintLayout
创build像Button
和TextView
这样的视图时,他们都会卡在顶部的angular落,而不是放在他们的位置。
我试图创build新的活动并更改模拟器,但结果仍然相同。
这是正在发生的事情的屏幕截图:
可能是什么问题?
如约束布局指南中所述 :
如果视图在设备上运行布局时没有约束条件,则会在[0,0]位置(左上angular)绘制视图。
您必须为视图添加至less一个水平和垂直的约束。
我想你没有应用任何限制。
无论是手动将约束应用于视图,还是让布局编辑器使用“Infer constraints”button为您执行:
当您将视图拖放到布局编辑器中时,即使它没有约束,它仍然保留在该位置…这只是为了使编辑更容易
换句话说,视图将“保留在你离开的地方”,直到你添加约束。
“预览版”与您的应用程序看起来不同的原因是因为您的应用程序运行时 ,您的XML中的任何内容都将从代码中删除 。 这些选项仅适用于Android Studio布局编辑器,而不代表您在代码运行时应该看到的内容。
这对于初学者来说可能是麻烦的,因为
缺less的约束不会导致编译错误
然而
布局编辑器将缺less的约束作为工具栏中的错误进行指示。 要查看错误和其他警告,请单击显示警告和错误 (带编号的红色button)。 为了帮助您避免缺less约束,布局编辑器可以使用自动连接为您自动添加约束, 并推断约束特征
更多细节
解决这个问题的一个快速简单的方法是点击组件(TextView,ImageView等),然后单击推断约束button。 它看起来像2个黄色加号。
推断约束图像