This view is not constrained. It only has designtime positions, so it will jump to (0,0) at runtime unless you add the constraints less... (Ctrl+F1)
Inspection info:The layout editor allows you to place widgets anywhere on the canvas, and it records the current position with designtime attributes (such as layout_editor_absoluteX). These attributes are not applied at runtime, so if you push your layout on a device, the widgets may appear in a different location than shown in the editor. To fix this, make sure a widget has both horizontal and vertical constraints by dragging from the edge connections.
这个情况是在使用ConstraintLayout布局中出现的,它并不是错误,只是个警告,忽略它仍然能够运行,但是view没有使用约束布局提供的参数,所以这个view在运行时会跳到(0,0)的位置。所以在使用View时应该为它设置如下参数:
app:layout_constraintStart_toStartOf
app:layout_constraintEnd_toEndOf
app:layout_constraintTop_toTopOf
app:layout_constraintBottom_toBottomOf
当然并不需要全部设置,只需要设置其中几个,能够确定它的位置就行了,
如设置:
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
这样就表示控件在最上方,它表示该控件的左边“贴着”ConstraintLayout的左边,右边“贴着”ConstraintLayout的右边,上边“贴着”ConstraintLayout的上边。这样就能确定控件的位置了。
或者:
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
这样也能确定它的位置。