我在1.1.0
上收到了缺失的约束警告,该警告已添加到ConstraintLayout
的(现在稳定的)版本Barrier
。
此视图不受约束,只有设计时位置,因此除非添加约束,否则它将跳转到(0,0)
但是,根据我的知识,{{1}}不使用任何约束,我认为甚至不可能添加它们
这是一个错误还是我错过了什么?
答案 0 :(得分:22)
如果您在屏障上定义了tools:layout_editor_absoluteX="123dp"
或tools:layout_editor_absoluteY="384dp"
之类的内容,请将其删除,警告就会消失。
答案 1 :(得分:1)
您是否遇到此类错误
尝试以这种方式添加障碍
<android.support.constraint.Barrier
android:id="@+id/barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:constraint_referenced_ids="view1,view2" />
答案 2 :(得分:0)
也许您忘记了指定 barrierDirection 参数:
<android.support.constraint.Barrier
android:id="@+id/barrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="end"
app:constraint_referenced_ids="view1,view2" />
指定“ barrierDirection”作为结束位置将通知屏障位于参考ID中指定的最宽视图的末端。
但是在设计时,您的设计师可能不会刷新障碍位置...就像我这样: barrier constraint not calculated on designer
编辑: 在清理缓存并迁移到ConstraintLayout'2.0.0-alpha3'之后,屏障将在设计时正确显示。