此观点不受限制


95

我收到以下错误,并且我正在使用Android studio 2.2 Preview3。我搜索了Google,但找不到任何资源。

Error: This view is not constrained, it only has design time positions, so it will jump to (0,0) unless you add constraints

在此处输入图片说明

<TextView
        android:layout_width="384dp"
        android:layout_height="207dp"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="@string/calc_default_display"
        android:id="@+id/textView"
        android:background="#ffffff"
        android:layout_margin="0dp"
        android:gravity="bottom|end"
        android:textSize="70sp"
        android:nestedScrollingEnabled="false"
        android:maxLines="2"
        android:maxLength="17"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="0dp" />

Answers:


152

快速解决此问题,请在Android Studio中使用此非常有用的快捷方式:

右键单击问题中的窗口小部件>约束布局>推断约束:

在此处输入图片说明

之后,您可以按照以下说明调整约束:https : //stackoverflow.com/a/37960888/5556250

更新资料

对于Android Studio v3及更高版本,这是不正确的。根据@purpleladydragons的评论

下拉菜单中没有“约束布局”。使用设计预览上方工具栏菜单中的魔术棒图标;有“推断约束”按钮。


2
非常感谢您的解决方案,我是一个绝对的初学者,我不知道小部件位置有什么问题
Atul Chavan

2
很棒的解决方案,尽管我希望Android Studio只是从一开始就存储位置,而不是运行时位置。一个更好的问题是,为什么Google认为仅在运行时存储位置是个好主意?这是使开发人员单击以推断位置的不必要步骤。
安东尼

非常感谢!很有帮助
Paul

23
我使用的是Android Studio 3.0-右键单击窗口小部件时,下拉菜单中没有“约束布局”。我意识到在设计预览上方的工具栏菜单中有一个看起来像魔术棒的图标,它也是一个“推断约束”按钮。
Purpleladydragons

在Android Studio版本3或更高版本中找不到该解决方案
Mohammad Heydari

74

解

只需单击此按钮即可解决


我没有看到带有该按钮的工具栏。我如何找到它?
i_am_david

我不知道您是否正在使用其他版本的Android Studio。请检查该按钮,它应该在那里。如果找不到,还有其他解决方案
Cem U

12

使用新的布局编辑器时,您需要手动为约束赋予一个值,或者可以通过单击设计预览工具栏菜单中的魔术棒按钮来自动添加缺少的约束。


11

您可以尝试以下操作:1.确保已添加:compile'c​​om.android.support : design : 25.3.1'(也许您还应该添加compile'c​​om.android.support.constraint:constraint-layout:1.0.2')2。在此处输入图片说明

3.单击“ 推断约束”,希望它可以为您提供帮助。


7

好的,所以我知道这个答案很旧,但是我发现了对于3.1.4版该如何做。因此,对我来说,每当我在层次结构中添加新项目时都会发生此错误,所以我知道我需要一个解决方案。经过一番修补后,我发现如何通过以下步骤进行操作:

  1. 右键单击对象,然后转到“中心”。

第1步

  1. 然后选择水平。

第2步

  1. 重复这些步骤,除了单击“垂直”而不是“水平”。

假设该方法仍然有效,则在第二步之后,您应该看到波浪形的线条水平地横越项目所在的位置,而在第三步之后,您将看到水平和垂直方向上的波浪线。第三步之后,错误将消失!


6

右键单击,然后在出现错误的组件上设计零件,然后执行以下步骤:

  • [例如 如果纯文本中出现错误]

[1]

纯文本约束布局>推断约束:

终于错误消失了



6

在Android Studio v3及更高版本中,从下拉列表中删除了“推理约束”。

使用设计预览上方工具栏菜单中的魔术棒图标;有“ 推断约束 ”按钮。单击此按钮,这将自动在文本字段中添加一些行,并且红线将被删除。

在此处输入图片说明


4

您只需要右键单击窗口小部件,然后选择“居中”->“水平”,然后再次进行选择,然后选择->“垂直”即可。



0

单击魔术棒图标以推断约束后:

1)在“项目”窗口中,转到Gradle脚本> build.gradle(Module:app)

2)向下滚动到依赖项

3)寻找实施'com.android.support:appcompat-v7:28.0.0-beta03'

4)将此行更改为实现'com.android.support:appcompat-v7:28.0.0-alpha1'

5)横幅应在窗口顶部弹出,单击右上角的立即同步。

这适用于Android Studio v3.1 单击以获取对build.gradle文件进行编辑的图像


0

创建布局时,一次使用一个控件比一次添加所有控件更容易。

从布局面板中,将ConstraintLayout拖到屏幕上。

在ConstraintLayout内部移动所需的控件。

因此,ConstraintLayout现在将成为控件的父级,如果切换到xml代码,则控件将嵌套在ConstraintLayout下。

右键单击控件,从菜单中选择“约束”,然后选择要如何使其与父ConstraintLayout,顶部,开始等对齐。

如果需要使两个控件相互对齐,请使用Ctrl键同时选择两个控件,然后右键单击以打开约束菜单。

更多信息:https//developer.android.com/training/constraint-layout

在此处输入图片说明

在此处输入图片说明 您可以在“约束布局”选项卡中指定约束间隔距离:

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.