如何使用新的 Android 约束布局来减少视图层次
How to use the new Android Constraint Layout to reduce View hierarchy
您是否知道如何使用最近在今年 Google I/O 上宣布的新约束布局?
您可以转到现有布局资源文件,打开可视化编辑器并右键单击 RelativeLayout(例如)并单击选项以转换为约束布局。
您还必须在 build.gradle 文件中添加 Gradle 依赖项:
compile 'com.android.support.constraint:constraint-layout:1.0.0'
来自 Docs
如果您要更新现有项目,请按以下步骤操作:
确保您拥有最新的 Android 支持存储库(版本 32 或更高版本):// 这是我缺少的部分
单击工具 > Android > SDK 管理器。
单击 SDK 工具选项卡。
Select Android 支持存储库,然后单击确定。
在您的 build.gradle 文件中添加更新的约束布局库作为依赖项:
dependencies {
compile 'com.android.support.constraint:constraint-layout:1.0.0'
}
在工具栏或同步通知中,单击“将项目与 Gradle 个文件同步”。
要为您的项目添加新的约束布局:
- 右键单击模块的布局目录,然后单击新建 > XML > 布局 XML。
输入布局的名称并输入 "android.support.constraint.ConstraintLayout" 作为根标签。
单击“完成”。
要将现有布局转换为约束布局:
- 在 Android Studio 和 select 编辑器底部的“设计”选项卡中打开现有布局 window。
在组件树 window 中,右键单击布局并单击转换为 ConstraintLayout。
通过 Google CodeLabs 中的 link。您将对 约束布局 以及如何使用不同的约束(如 Manual Constraint
、Auto Connect
和 Inference
有基本的了解。
还有 UI Builder
和 Inspector
这将帮助我们更快地构建 UI。
我试了很多版本,都无法解决问题!最后我让 Android Studio 来解决这个问题。
在XML文件中,在错误信息旁边可以看到这个选项!单击它以导入推荐版本
或者您可以按 alt+enter 将光标置于错误行
当我按下 alt+enter
时,我得到了 constraint-layout:1.0.0-alpha8
compile
'com.android.support.constraint:constraint-layout:1.0.0-alpha8'
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 和 select 编辑器底部的“设计”选项卡中打开现有布局 window。在组件树 window 中,右键单击根布局并单击转换为 ConstraintLayout。然后包括上定义的属性。
更改文件中的依赖项build.gradle
。
改用编译com.android.support.constraint:constraint-layout:1.0.0-beta1
。
添加依赖项
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha9'
并创建新布局 xml 文件 --> 转到设计选项卡 --> 右键单击你的根布局并select 最后一个选项 将 LinearLayout 转换为 ConstraintLayout
查看截图
Google 发布正式版1.0 ConstraintLayout
现在导入非测试版
compile 'com.android.support.constraint:constraint-layout:1.0.0'
查看此处信息
http://tools.android.com/recent/constraintlayout10isnowavailable
您应该在模块级别 gradle 文件中添加 google maven 存储库(重要部分)
repositories {
maven {
url 'https://maven.google.com'
}
}
然后在 dependencies 中添加这一行:
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.android.support.constraint:constraint-layout-solver:1.0.2'
Understanding the performance benefits of ConstraintLayout 描述了传统布局层次结构的开销。它给出了一个使用嵌套布局构建的布局示例
并声称
ConstraintLayout performs about 40% better in the measure/layout phase than RelativeLayout
这篇Codelab project展示了如何使用 ConstaintLayout 来减少 View 层级并展平上述布局。
您是否知道如何使用最近在今年 Google I/O 上宣布的新约束布局?
您可以转到现有布局资源文件,打开可视化编辑器并右键单击 RelativeLayout(例如)并单击选项以转换为约束布局。
您还必须在 build.gradle 文件中添加 Gradle 依赖项:
compile 'com.android.support.constraint:constraint-layout:1.0.0'
来自 Docs
如果您要更新现有项目,请按以下步骤操作:
确保您拥有最新的 Android 支持存储库(版本 32 或更高版本):// 这是我缺少的部分
单击工具 > Android > SDK 管理器。 单击 SDK 工具选项卡。 Select Android 支持存储库,然后单击确定。
在您的 build.gradle 文件中添加更新的约束布局库作为依赖项:
dependencies {
compile 'com.android.support.constraint:constraint-layout:1.0.0'
}
在工具栏或同步通知中,单击“将项目与 Gradle 个文件同步”。
要为您的项目添加新的约束布局:
- 右键单击模块的布局目录,然后单击新建 > XML > 布局 XML。 输入布局的名称并输入 "android.support.constraint.ConstraintLayout" 作为根标签。 单击“完成”。
要将现有布局转换为约束布局:
- 在 Android Studio 和 select 编辑器底部的“设计”选项卡中打开现有布局 window。 在组件树 window 中,右键单击布局并单击转换为 ConstraintLayout。
通过 Google CodeLabs 中的 link。您将对 约束布局 以及如何使用不同的约束(如 Manual Constraint
、Auto Connect
和 Inference
有基本的了解。
还有 UI Builder
和 Inspector
这将帮助我们更快地构建 UI。
我试了很多版本,都无法解决问题!最后我让 Android Studio 来解决这个问题。
在XML文件中,在错误信息旁边可以看到这个选项!单击它以导入推荐版本
或者您可以按 alt+enter 将光标置于错误行
当我按下 alt+enter
时,我得到了 constraint-layout:1.0.0-alpha8compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha8'
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 和 select 编辑器底部的“设计”选项卡中打开现有布局 window。在组件树 window 中,右键单击根布局并单击转换为 ConstraintLayout。然后包括上定义的属性。
更改文件中的依赖项build.gradle
。
改用编译com.android.support.constraint:constraint-layout:1.0.0-beta1
。
添加依赖项
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha9'
并创建新布局 xml 文件 --> 转到设计选项卡 --> 右键单击你的根布局并select 最后一个选项 将 LinearLayout 转换为 ConstraintLayout
查看截图
Google 发布正式版1.0 ConstraintLayout
现在导入非测试版
compile 'com.android.support.constraint:constraint-layout:1.0.0'
查看此处信息 http://tools.android.com/recent/constraintlayout10isnowavailable
您应该在模块级别 gradle 文件中添加 google maven 存储库(重要部分)
repositories {
maven {
url 'https://maven.google.com'
}
}
然后在 dependencies 中添加这一行:
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.android.support.constraint:constraint-layout-solver:1.0.2'
Understanding the performance benefits of ConstraintLayout 描述了传统布局层次结构的开销。它给出了一个使用嵌套布局构建的布局示例
并声称
ConstraintLayout performs about 40% better in the measure/layout phase than RelativeLayout
这篇Codelab project展示了如何使用 ConstaintLayout 来减少 View 层级并展平上述布局。