This view is not constrained, it only has designtime positions, so it will jump to (0,0) unless you

问题

This view is not constrained, it only has designtime positions, so it will jump to (0,0) unless you add constraints The

详细问题

笔者设计UI界面,运行UI界面,发现所有拖拽的组件全部集中在左上角,检查代码,发现所有标签报错,具体报错如下图所示
请添加图片描述

解决方案

方案一

1、点击Infer Constraints
具体操作如下
请添加图片描述

方案二

对于报错组件,添加如下代码段:

app:layout_constraintBottom_toBottomOf="底部参照对象(下)"
app:layout_constraintEnd_toEndOf="结束参照对象(右)"
app:layout_constraintStart_toStartOf="开始部参照对象(左)"
app:layout_constraintTop_toTopOf="顶部参照对象(上)"

具体的

app:layout_constraintBottom_toTopOf="@+id/editTextTextPassword"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/textView2"
app:layout_constraintTop_toTopOf="parent"

产生原因

由于在UI界面的设计中,一些组件缺乏必要的约束。在Android或类似的UI框架中,UI组件的位置和大小通常由布局约束来控制,以确保它们在运行时能够正确地显示在屏幕上。

当一个组件缺乏约束时,系统无法确定该组件在布局中的确切位置,因此在设计时会使用默认的位置 (0,0),即左上角。在运行时,这些没有约束的组件就会跳到左上角,导致所有的拖拽组件都集中在那个位置,而不是按照预期的布局方式显示在界面上。

解决原因

添加正确的布局约束,以确保在运行时UI组件能够按照预期的方式正确显示在屏幕上。
具体的:

方案一:通过"Infer Constraints"工具

系统会尝试自动检测并添加适当的布局约束,以便在设计时确保组件位置的正确性。这是一种自动化的方式,适用于简单的布局情况。

方案二:手动添加约束:

在某些情况下,特别是对于复杂布局或特定需求,手动添加约束是更可靠的方法。
通过手动在布局编辑器中设置水平和垂直方向上的约束,确保每个组件在布局中都有明确的位置和大小。

参考文献

This view is not constrained, it only has designtime positions, so it will jump to (0,0) unless you add constraints The
产生原因与解决原因部分参考chatgpt

原创不易
转载请标明出处
如果对你有所帮助 别忘啦点赞支持哈
请添加图片描述

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞滕人生TYF

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值