首先确定核心内容,然后设计出有效的 widget 布局。布局决定了信息和互动元素在 widget 中的组织方式。Android 提供了多个预构建的工具栏、文本、列表和网格型 widget 布局,以简化此过程。
文本
文本布局非常适合显示简洁的信息。您可以选择在文本旁边添加图片,以提升 widget 的视觉吸引力。
工具栏
使用工具栏布局,让用户可以在灵活的布局中快速访问应用中常用的任务,该布局可适应各种 widget 尺寸。
搜索工具栏布局旨在将焦点吸引到搜索 ,将其作为工具栏中的主要操作。其他便捷按钮可让用户快速访问常用功能。
工具栏会先显示应用品牌,然后显示最常用任务的按钮 非常适合可切换的设置或任务链接。调整大小时,系统可能会隐藏不太常用的选项,而显示更常用的操作。当有空间时,使用 断点 添加新的最小 48dp 可点按按钮。
列表
使用列表布局以清晰、可扫描的格式整理多个项。非常适合新闻标题、待办事项列表或消息。将内容整理成结构化、可扫描的列表。根据内容需求,选择容器化或无容器的呈现方式。
可扫描的文本和图片列表非常适合展示多种 类型的内容,例如新闻标题、包含专辑封面的播放列表或 消息。
核对清单布局非常适合显示任务,并为用户提供清晰的点按 目标,以便用户快速将项标记为已完成。
使用操作列表提供直观的控件分组,其中视觉上的开/关 状态可立即反馈项状态。
此布局非常适合在 Android 17 及 更高版本上展示沉浸式全出血图片,它使用吸附滚动,确保每个子元素 都与 widget 容器的高度完美对齐。
网格
以紧凑、灵活、视觉效果丰富的网格呈现图片,并可选择添加标签。 使用可适应不同屏幕尺寸的列和行。
使用仅图片的 网格创建视觉冲击力强、可滚动的图片库。行和列会自动适应各种屏幕尺寸,以实现 最佳呈现效果。
您还可以添加文本标签和说明,为您的 图片网格内容添加更多背景信息。
代码示例
下表将每个规范布局映射到 Android 平台示例 GitHub 代码库中对应的 Jetpack Glance 实现。
| 规范布局 | 布局类别 | 实现示例文件 |
|---|---|---|
| 纯文本 | 文本 | LongTextAppWidget.kt |
| 文本和图片 | 文本 | TextWithImageAppWidget.kt |
| 搜索工具栏 | 工具栏 | SearchToolBarAppWidget.kt |
| 工具栏 (标准) | 工具栏 | ToolBarAppWidget.kt |
| 文本和图片列表 | 列表 | ImageTextListAppWidget.kt |
| 核对清单 | 列表 | CheckListAppWidget.kt |
| 操作列表 | 列表 | ActionListAppWidget.kt |
| 全出血吸附滚动 | 列表 | FullBleedImageAppWidget.kt |
| 仅图片 | 网格 | ImageGridAppWidget.kt |
| 图片和文本 | 网格 | ImageGridAppWidget.kt |