您对如何使用最近在今年 Google I/O 上宣布的新约束布局有任何想法吗?
10 回答
您可以转到现有布局资源文件,打开可视化编辑器并右键单击 RelativeLayout(例如),然后单击转换为约束布局的选项。
您还必须在 build.gradle 文件中添加 Gradle 依赖项:
compile 'com.android.support.constraint:constraint-layout:1.0.0'
来自文档
如果您要更新现有项目,请执行以下操作:
确保您拥有最新的 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 中打开现有布局,然后选择编辑器窗口底部的设计选项卡。在组件树窗口中,右键单击布局并单击转换为约束布局。
通过Google CodeLabs的这个链接。您将了解约束布局的基本概念以及如何使用不同的约束,如, & 。Manual Constraint
Auto Connect
Inference
还有UI Builder
&Inspector
可以帮助我们构建更快的 UI。
了解 ConstraintLayout 的性能优势描述了传统布局层次结构的代价。它给出了一个使用嵌套布局构建的布局示例
并声称
ConstraintLayout 在测量/布局阶段的性能比 RelativeLayout 好约 40%
这个Codelab 项目展示了如何使用 ConstaintLayout 来减少 View 层次结构和扁平化上述布局。
您应该在模块级 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'
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 中打开现有布局,然后选择编辑器窗口底部的设计选项卡。在组件树窗口中,右键单击根布局并单击转换为约束布局。然后包括向上定义的属性。
更改文件中的依赖关系build.gradle
。
改用编译com.android.support.constraint:constraint-layout:1.0.0-beta1
。
谷歌发布正式版 1.0 ConstraintLayout
现在导入非测试版
compile 'com.android.support.constraint:constraint-layout:1.0.0'
在这里查看信息 http://tools.android.com/recent/constraintlayout10isnowavailable