最近开始研究Android Studio,遇到一个问题。当我想向设备添加文本、按钮等时,添加的组件会消失在手机屏幕后面。
然后抛出一个错误:
这种观点不受约束。它只有设计时位置,因此它会在运行时跳转到 (0,0),除非您添加约束布局编辑器允许您将小部件放置在画布上的任何位置,并使用设计时属性(例如 layout_editor_absoluteX)记录当前位置. 这些属性不会在运行时应用,因此如果您在设备上推送布局,小部件可能会出现在与编辑器中不同的位置。要解决此问题,请通过从边缘连接拖动来确保小部件同时具有水平和垂直约束。
我翻译了,但无法解决问题。
ConstraintLayout
需要根据约束(相互位置等)对元素的排列进行详细设置 - 这就像一个高级RelativeLayout
.约束大致意思是“视图位置设置”——顶部/底部等应该被“吸引”到哪里,边距是什么以及在哪里,是否有必要以某种方式与指南交互。
互联网上有足够多的信息 - 阅读官方文档或类似的文章(在 Google 中遇到的第一篇似乎写得很好)。
错误告诉你:
免费翻译:
编辑器中还有一个魔术按钮(但它并不总是有帮助,最好手动完成):
根据您在编辑器中定位元素的方式,它将尝试设置约束(尽管有一堆额外的边距等等)而不是您。
为至少 2 个边(水平和垂直)设置约束(约束)。通过使用 ConstraintLayout,你可以告诉她这个元素在左上角(在下面的屏幕上)。在按钮下我有一个 RecyclerView。我将其限制如下 - 左侧,右侧和底部仅限于设备的屏幕。顶部“位于按钮下方”。