此视图不受约束

Isu*_*uru 84 java layout android

我收到以下错误,我使用Android工作室2.2预览3.我搜索谷歌但找不到任何资源.

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

在此输入图像描述

<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" />
Run Code Online (Sandbox Code Playgroud)

Jay*_*per 146

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

右键单击"有问题的小部件">"约束布局">"推断约束":

在此输入图像描述

此后,您可以调整约束,如下所述:https: //stackoverflow.com/a/37960888/5556250

更新

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

"约束布局"不在下拉菜单中.使用设计预览上方工具栏菜单中的魔棒图标; 有"推断约束"按钮.

  • 我正在使用Android Studio 3.0 - 当我右键单击一个小部件时,"约束布局"不在下拉菜单中.我意识到在设计预览上方的工具栏菜单中有一个看起来像魔杖的图标,这也是一个"推断约束"按钮. (20认同)
  • 非常感谢您的解决方案,我是一个绝对的初学者,我不知道小部件的位置有什么问题 (2认同)
  • 很棒的解决方案虽然我希望Android Studio能够存储起始位置,而不是运行时位置.更好的问题是为什么Google认为仅在运行时存储位置是个好主意?这是让开发者点击推断位置的不必要的步骤. (2认同)

小智 63

解

只需单击此按钮即可解决


one*_*exf 12

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


Ber*_*ing 10

你可以试试这个:1.确保你已经添加:compile'c​​om.android.support : design : 25.3.1'(也许你还应该添加compile'c​​om.android.support.constraint:constraint-layout:1.0.2')2.在此输入图像描述

3.点击Infer Constraints,希望它可以帮到你.


Vin*_*oth 7

从 Android Studio v3 及更高版本,推断约束已从下拉列表中删除。

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

在此处输入图片说明


小智 6

右键单击然后在您遇到错误的组件上设计部件并按照以下步骤操作:

  • [例如 如果在纯文本中发生错误]

[1]

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

终于错误消失了


小智 6

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

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

步骤1

  1. 然后选择水平。

第2步

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

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


Eka*_*e 3 5

您只需右键单击小部件并选择“居中”->“水平”并再次执行,然后选择->“垂直”这对我有用...


小智 5

右键单击窗口小部件,然后选择“中心”->“水平”。然后选择“中心”->“垂直”。