每次我创建Button
和TextView
in之类的视图时ConstraintLayout
,它们都会卡在顶角,而不是我放置它们的位置。
我尝试创建新活动并更改模拟器,但结果仍然相同。
这是正在发生的事情的屏幕截图:
可能是什么问题?
每次我创建Button
和TextView
in之类的视图时ConstraintLayout
,它们都会卡在顶角,而不是我放置它们的位置。
我尝试创建新活动并更改模拟器,但结果仍然相同。
这是正在发生的事情的屏幕截图:
可能是什么问题?
如约束布局指南中所述:
如果在设备上运行布局时视图没有约束,则会在位置 [0,0](左上角)处绘制。
您必须为视图添加至少一个水平约束和一个垂直约束。
我猜你没有应用任何约束。
手动将约束应用于视图,或者让布局编辑器使用“推断约束”按钮为您完成:
当您将视图放入布局编辑器时,即使它没有约束,它也会停留在您离开它的位置......这只是为了使编辑更容易
换句话说,视图将“留在你离开它的地方”,直到你添加约束。
它在预览版与您的应用程序中看起来不同的原因是,当您的应用程序运行时,您的 XML 中的任何内容都tools:
将从代码中删除。这些选项仅适用于 Android Studio 布局编辑器,并不代表您在代码运行时应该看到的内容。
对于初学者来说可能会很麻烦,因为
缺少约束不会导致编译错误
然而
布局编辑器将缺少约束指示为工具栏中的错误。要查看错误和其他警告,请单击显示警告和错误(带数字的红色按钮)。为了帮助您避免丢失约束,布局编辑器可以使用自动连接和推断约束功能自动为您添加约束
将此在xml中添加到按钮等
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.57"
然后在设计中使用它。
祝你好运!:)