文章目录
一、报错信息
约束布局中 , 如果不给组件添加约束 , 就会报如下错误 :
Missing Constraints in ConstraintLayoutThis view is not constrained. It only has designtime positions, so it will jump to (0,0) at runtime unless you add the constraints 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. Issue id: MissingConstraints Vendor: Android Open Source Project Contact: https://groups.google.com/g/lint-dev Feedback: https://issuetracker.google.com/issues/new?component=192708
二、解决方案
1、手动添加约束 ( 推荐 )
Design 界面拖动添加约束操作 : 手动拖动 布局上下左右的 约束按钮 , 添加约束 ;
Code 代码添加约束 : 在代码中 , 添加 如下 上下左右的 约束 ;
app:layout_constraintBottom_toTopOf=“@+id/guideline3”
app:layout_constraintEnd_toEndOf=“parent”
app:layout_constraintStart_toStartOf=“parent”
app:layout_constraintTop_toTopOf=“parent”
组件约束完整示例如下 :
<androidx.fragment.app.FragmentContainerView android:id="@+id/fragmentContainerView1" android:name="kim.hsl.livedatademo.Fragment1" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_constraintBottom_toTopOf="@+id/guideline3" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" />
2、自动添加约束
使用 Design 面板中的 Infer Constraints 工具 , 可以自动为组件添加约束 ;
来源地址:https://blog.csdn.net/han1202012/article/details/129459934