在布局编辑器中,您可以通过将界面元素拖动到可视化设计编辑器中(而不是手动编写布局 XML),快速构建布局。设计编辑器支持在不同的 Android 设备和版本上预览布局,并且您可以动态调整布局大小,以确保它能够很好地适应不同的屏幕尺寸。
使用 ConstraintLayout
构建布局时,布局编辑器的功能尤其强大。前者是一个布局管理器,与 Android 2.3(API 级别 9)及更高版本兼容。
本文简要介绍了布局编辑器。如需详细了解布局基础知识,请参阅布局。
当您打开 XML 布局文件时,就会显示布局编辑器。
当您打开 XML 布局文件时,默认会打开设计编辑器,如图 1 所示。如需在文本编辑器中修改布局 XML,请点击窗口右上角的 Code 按钮。请注意,在 Code 视图中修改布局时,Palette、Component Tree 和 Attributes 窗口不可用。
提示:您只需按
Alt + Shift + Right/Left arrow
(在 Mac 上按Control + Shift + Right/Left arrow
),即可在设计编辑器和文本编辑器之间切换。
您可以使用设计编辑器顶行中的按钮在编辑器中配置布局的外观。
可用的按钮(对应于图 2 中的各个数字)如下:
B
循环浏览这些视图类型。O
更改屏幕方向。D
循环浏览设备列表。注意:除非您选择从 Layout Variants 添加新的布局文件,否则这些配置对应用的代码或清单没有任何影响。它们只会影响布局预览。
为应用添加新布局时,请先在项目的默认 layout/
目录中创建一个默认布局文件,以便其适用于所有设备配置。默认布局创建完毕后,您可以为特定的设备配置(例如为大屏幕)创建布局变体。
您可以通过以下方式之一创建新布局:
layout
文件夹。+
按钮,然后点击 Layout Resource File。布局变体是现有布局的备用版本,针对特定屏幕尺寸或屏幕方向进行了优化。
Android Studio 包含您可以在项目中使用的常见布局变体。 如需使用建议的布局变体,请执行以下操作:
如果您想要创建自己的布局变体,请执行以下操作:
如果同一布局有多个变体,如需在这些变体间切换,请点击 Layout Variants 图标 并从显示的列表中选择。
如需详细了解如何为不同屏幕创建布局,请参阅支持不同的屏幕尺寸。
您可以将一种视图转换为另一种视图,也可以将一种布局转换为另一种布局。
为了改善布局性能,您应该将旧版布局转换为 ConstraintLayout
。ConstraintLayout
采用基于约束条件的布局系统,让您无需使用任何嵌套视图组即可构建大多数布局。
如需将现有布局转换为 ConstraintLayout
,请执行以下操作:
your-layout-type
to ConstraintLayout。如需详细了解 ConstraintLayout
,请参阅使用 ConstraintLayout 构建自适应界面。
如需在 Palette 中按名称搜索视图或视图组,请点击 Palette 顶部的 Search 按钮。或者,您也可以在 Palette 窗口每次获得焦点后输入内容名称。
您可以在 Palette 的 Common 类别中找到经常使用的内容。如需向此类别中添加内容,请右键点击 Palette 中的相应视图或视图组,然后在上下文菜单中点击 Favorite。
如需打开视图或视图组的 Android 开发者参考文档,请在 Palette 中选择界面元素,然后按 Shift + F1
。
如需查看视图或视图组的 Material Guidelines 文档,请右键点击 Palette 中的界面元素,然后从上下文菜单中选择 Material Guidelines。对于相应内容,如果不存在任何特定条目,则此命令会打开 Material Guidelines 文档的首页。
要开始构建布局,只需将视图和视图组从 Palette 拖动到设计编辑器中即可。将视图放置到布局中后,编辑器会显示有关该视图与布局其余部分的关系的信息。
如果您使用的是 ConstraintLayout
,则可以使用 Infer Constraints 和 Autoconnect 功能自动创建约束条件。
您可以在布局编辑器右侧的 Attributes 窗口中修改视图属性。只有在设计编辑器处于打开状态时,此窗口才会显示,因此请确保您正在使用 Design 或 Split 模式查看布局。
当您选择视图时(无论是通过在 Component Tree 中点击该视图,还是在设计编辑器中点击该视图),Attributes 窗口会显示以下内容,如图 3 所示:
ConstraintLayout
中,该部分还会显示约束偏差,并列出相应视图使用的约束条件。如需详细了解如何使用 ConstraintLayout
,请参阅使用 ConstraintLayout 构建自适应界面。属性值周围的红色突出显示表示值存在错误。 错误可能表示布局定义属性的条目无效,如图 3 中的红色突出显示所示。
橙色突出显示表示值存在警告。例如,如果在应该使用资源引用时使用了硬编码值,就可能会出现警告。
由于很多 Android 布局都依赖于运行时数据,因此在设计应用时很难直观呈现布局的外观和风格。在 Android Studio 3.2 及更高版本中,您可以从布局编辑器中向 TextView
、ImageView
或 RecyclerView
添加示例预览数据。
注意:当您向
View
添加示例数据时,Android Studio 会更改您的项目,就像您在使用自己的数据一样。您随后可以根据需要修改这些更改内容。
您可以右键点击其中某种视图类型,然后选择 Set Sample Data 以显示 Design-time View Attributes 窗口,如图 4 所示。
在 TextView
中,您可以在不同的示例文本类别之间选择。在使用示例文本时,Android Studio 会使用您选择的示例数据填充 TextView
的 text
属性。请注意,仅当 text
属性为空时,您才能通过 Design-time View Attributes 窗口选择示例文本。
在 ImageView
中,您可以在不同的示例图片之间进行选择。当您选择示例图片后,Android Studio 会填充 ImageView
的 tools:src
属性(如果使用支持库,则会填充 tools:srcCompat
)。
在 RecyclerView
中,您可以在一组包含示例图片和文本的模板之间进行选择。使用这些模板时,Android Studio 会将 recycler_view_item.xml
文件添加到 res/layout
目录,该文件中包含示例数据的布局。Android Studio 还会将元数据添加到 RecyclerView
,以正确显示示例数据。
布局编辑器会在 Component Tree 中相应视图的旁边使用红色圆圈感叹号图标 (表示错误)或橙色三角形感叹号图标
(表示警告)通知您存在的任何布局问题。点击该图标即可查看更多详细信息。
如需在编辑器下方的窗口中查看所有已知问题,请点击工具栏中的 Show Warnings and Errors( 或
)。
使用 Android 8.0(API 级别 26)或 Android 支持库 26.0.0 或更高版本时,您可以按照以下步骤从数百种字体中进行选择: