23

我在我的布局中使用androidx.constraintlayout.widget.ConstraintLayout并且它不显示链,我也不能拖动任何小部件。我只需键入要使用的约束。

<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="112dp"/>

这是 androidx constraintLayout 的示例屏幕截图: androidx.constraintlayout.widget.ConstraintLayout

但是当我尝试切换回:android.support.constraint.ConstraintLayout时,我可以看到它

<android.support.constraint.ConstraintLayout
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="112dp"/>

这是支持约束布局的示例屏幕截图: android.support.constraint.ConstraintLayout

这是一个错误还是什么?

编辑:

我目前的解决方案是从:

implementation 'androidx.constraintlayout:constraintlayout:1.1.2'

implementation 'com.android.support.constraint:constraint-layout:1.1.2'

但这并不能解决我的问题,因为我不想使用支持。

4

2 回答 2

37

我遇到了同样的问题,直到我意识到我应该使用 Canary 版本来解决它。在稳定版本旁边安装 Canary 版本后,打开项目,现在您可以使用此实现:

implementation 'androidx.constraintlayout:constraintlayout:1.1.2'

代替

implementation 'com.android.support.constraint:constraint-layout:1.1.2'

请记住,您可能需要执行以下操作:

  • 清洁项目
  • 重建
  • 使缓存无效/重新启动

我的问题用这种方法解决了。

于 2018-08-17T11:25:24.413 回答
13

如果您使用的是最新的 Android 更新 3.3.3,则从支持约束布局迁移到 Android x:

<android.support.constraint.ConstraintLayout>
</android.support.constraint.ConstraintLayout>

<androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

为了得到这个也改变gradle:

实现 com.android.support.constraint:constraint-layout:1.1.3

实现 androidx.constraintlayout:constraintlayout:2.0.0-alpha3

于 2019-01-28T10:12:19.330 回答