如何使用新的Android约束布局来减less视图层次结构

关于如何使用最近在今年的Google I / O上发布的新约束布局,您有什么想法吗?

Solutions Collecting From Web of "如何使用新的Android约束布局来减less视图层次结构"

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

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

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

从文档

如果您正在更新现有项目,请按照下列步骤操作:

确保你有最新的Android支持库( 版本32或更高版本 ):/ / 这是我失踪的一部分

点击工具> Android> SDKpipe理器。 点击SDK Tools标签。 selectAndroid Support Repository,然后点击OK。

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

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

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

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

  • 右键单击模块的布局目录,然后单击新build> XML>布局XML。 input布局的名称,并input“android.support.constraint.ConstraintLayout”作为根标签。 点击完成。

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

  • 在Android Studio中打开您现有的布局,然后select编辑器窗口底部的“devise”选项卡。 在“组件树”窗口中,右键单击布局,然后单击“转换为约束布局”。

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

另外还有UI BuilderInspector ,它将帮助我们构build更快的用户界面。

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

在XML文件中,除了错误消息,你可以看到这个选项! 点击它来导入推荐的版本

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

或者你可以按alt +进入把你的光标放在错误行上

我得到约束布局:1.0.0-alpha8,当我按Alt + Enter

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

添加依赖关系

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

并创build新的布局xml文件– > gotodevise选项卡– >右键单击您的根布局,并select最后一个选项将LinearLayout转换为ConstraintLayout

看截图

在这里输入图像说明

你应该添加谷歌的Maven仓库模块级Gradle文件( 重要部分

 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' 

了解ConstraintLayout的性能优势描述了传统布局层次结构的花费。 它给出了一个使用嵌套布局构build的布局的例子

示例视图

并声称

ConstraintLayout在度量/布局阶段比RelativeLayout执行效果好大约40%

这个Codelab项目展示了如何使用ConstaintLayout来减lessView的层次结构,并将上述布局弄平。

Codelab项目

1)要使用ConstraintLayoutdevise新的布局,请在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中打开您现有的布局,然后select编辑器窗口底部的“devise”选项卡。 在Component Tree窗口中,右键单击根布局,然后单击Convert to ConstraintLayout。 然后包括上面定义的属性。

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

使用compile com.android.support.constraint:constraint-layout:1.0.0-beta1来代替。

Google发布了1.0版的ConstraintLayout

现在导入非testing版本

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

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