此视图不受约束

时间:2016-06-14 16:31:08

标签: java android layout

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

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

enter image description here

<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" />

12 个答案:

答案 0 :(得分:141)

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

右键单击widget-in-question&gt;约束布局&gt;推断约束:

enter image description here

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

<强>更新

对于Android Studio v3及更高版本,这是不正确的。根据{{​​3}}:

  

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

答案 1 :(得分:58)

Solution

只需单击此按钮即可解决

答案 2 :(得分:10)

使用新布局编辑器时,您需要手动给出约束值可以通过单击设计预览工具栏菜单中的魔棒按钮自动添加缺少的约束。 / p>

答案 3 :(得分:9)

你可以试试这个:  1.确保你已添加:编译'com.android.support:design:25.3.1'(也许你还应该添加编译'com.android.support.constraint:constraint-layout :1.0.2' )  2. enter image description here

3.点击推断约束,希望它能为您提供帮助。

答案 4 :(得分:6)

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

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

[1]

纯文本约束布局&gt;推断约束:

最后错误已经消失

答案 5 :(得分:4)

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

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

Step 1

  1. 然后选择“水平”。

Step 2

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

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

答案 6 :(得分:4)

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

答案 7 :(得分:3)

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

答案 8 :(得分:1)

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

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

enter image description here

答案 9 :(得分:0)

你可以转到XML file,然后将鼠标光标对准你的按钮,文本视图或你为布局选择的任何内容,然后按Alt + Enter进行修复,之后错误就会消失.it适合我。

答案 10 :(得分: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 click for image of edit to build.gradle file

答案 11 :(得分:0)

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

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

在ConstraintLayout中移动所需的控件。

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

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

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

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

enter image description here

enter image description here 您可以在“约束布局”选项卡中指定约束间隔距离:

enter image description here