33

您对如何使用最近在今年 Google I/O 上宣布的新约束布局有任何想法吗?

4

10 回答 10

29

您可以转到现有布局资源文件,打开可视化编辑器并右键单击 RelativeLayout(例如),然后单击转换为约束布局的选项。

您还必须在 build.gradle 文件中添加 Gradle 依赖项:

compile 'com.android.support.constraint:constraint-layout:1.0.0'
于 2016-05-19T08:16:07.030 回答
17

来自文档

如果您要更新现有项目,请执行以下操作:

确保您拥有最新的 Android 支持存储库(版本 32 或更高版本)://这是我缺少的部分

单击工具 > Android > SDK 管理器。单击 SDK 工具选项卡。选择 Android 支持存储库,然后单击确定。

在 build.gradle 文件中添加更新的约束布局库作为依赖项:

dependencies {
  compile 'com.android.support.constraint:constraint-layout:1.0.0'
}

在工具栏或同步通知中,单击将项目与 Gradle 文件同步。

为您的项目添加新的约束布局:

  • 右键单击模块的布局目录,然后单击新建 > XML > 布局 XML。输入布局的名称并为根标记输入“android.support.constraint.ConstraintLayout”。单击完成。

要将现有布局转换为约束布局:

  • 在 Android Studio 中打开现有布局,然后选择编辑器窗口底部的设计选项卡。在组件树窗口中,右键单击布局并单击转换为约束布局。
于 2016-05-27T10:30:17.960 回答
5

通过Google CodeLabs的这个链接。您将了解约束布局的基本概念以及如何使用不同的约束,如, & 。Manual ConstraintAuto ConnectInference

还有UI Builder&Inspector可以帮助我们构建更快的 UI。

于 2016-06-05T12:09:49.937 回答
4

我尝试了很多版本,但我无法解决问题!最后我让 Android Studio 来解决这个问题。

在 XML 文件中,在错误消息旁边您可以看到此选项!单击以导入推荐的版本

使用已过时的约束库版本 1.0.0-alpha2

或者您可以按 alt+enter 将光标放在错误行上

当我按下 alt+enter 时,我得到了约束布局:1.0.0-alpha8

编译'com.android.support.constraint:constraint-layout:1.0.0-alpha8'

于 2016-09-22T05:38:31.107 回答
2

添加依赖项

compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha9'

并创建新的布局xml文件->转到设计选项卡->右键单击您的根布局并选择最后一个选项将LinearLayout转换为ConstraintLayout

见截图

在此处输入图像描述

于 2016-11-09T08:33:23.623 回答
1

了解 ConstraintLayout 的性能优势描述了传统布局层次结构的代价。它给出了一个使用嵌套布局构建的布局示例

示例视图

并声称

ConstraintLayout 在测量/布局阶段的性能比 RelativeLayout 好约 40%

这个Codelab 项目展示了如何使用 ConstaintLayout 来减少 View 层次结构和扁平化上述布局。

代码实验室项目

于 2017-10-31T08:13:08.253 回答
1

您应该在模块级 gradle 文件中添加 google maven 存储库(重要部分

repositories {
    maven {
        url 'https://maven.google.com'
    }
}

然后在依赖项中添加这一行:

compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.android.support.constraint:constraint-layout-solver:1.0.2'
于 2017-07-02T06:50:59.850 回答
0

1)要使用 ConstraintLayout 设计新布局,请在 app.gradle 文件中包含依赖项

compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha8'

注意:对于布局中的每个视图,您必须包含以下属性,否则视图将显示在 (0,0) 处。

<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    ....>

        <View
           android:id="@+id/top_view"
           .../>

        <View
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/top_view"
        app:layout_constraintBottom_toTopOf="@+id/bottom_view"
        ..../>

       <View
           android:id="@+id/bottom_view"
           .../>

</android.support.constraint.ConstraintLayout>

2)将现有布局文件转换为约束布局:

在 Android Studio 中打开现有布局,然后选择编辑器窗口底部的设计选项卡。在组件树窗口中,右键单击根布局并单击转换为约束布局。然后包括向上定义的属性。

于 2016-09-30T09:31:28.337 回答
0

更改文件中的依赖关系build.gradle

改用编译com.android.support.constraint:constraint-layout:1.0.0-beta1

于 2016-10-25T12:33:16.220 回答
0

谷歌发布正式版 1.0 ConstraintLayout

现在导入非测试版

compile 'com.android.support.constraint:constraint-layout:1.0.0'

在这里查看信息 http://tools.android.com/recent/constraintlayout10isnowavailable

于 2017-02-23T12:53:50.637 回答