第二个 Android 11 开发者预览版现已推出,快来测试并分享您的反馈吧

应用微件概览

微件是自定义主屏幕的一个重要方面。您可以将微件想象成“一目了然”的视图,它们让最重要的应用数据和功能一览无余,从用户的主屏幕即可进行访问。用户可以在其主屏幕面板间移动微件,如果系统支持,用户还可以调整微件的大小,按照他们的偏好量身定制微件中的信息量。

本页介绍了您可能要创建的各种不同类型的微件以及要遵循的一些设计原则。要开始构建应用微件,请阅读构建应用微件

微件类型

当您开始规划微件时,先想想您要尝试构建什么样的微件。微件通常属于以下某个类别:

信息微件

信息微件通常会显示对用户来说很重要的一些关键信息元素,并跟踪该信息随时间变化的情况。天气微件、时钟微件或体育比分跟踪器等信息微件就是很好的例子。轻触信息微件通常会启动关联的应用,并打开微件信息的详情视图。

集合微件

顾名思义,集合微件专门显示同一类型的众多元素,如图库应用中的一系列图片、新闻应用中的一系列报道或通信应用中的一系列电子邮件/消息。集合微件通常侧重于两个用例:一个是浏览集合,一个是将集合的元素打开到其详情视图以供使用。集合微件可以垂直滚动。

ListView 微件

GridView 微件

控制微件

控制微件的主要用途是显示常用功能,用户可直接从主屏幕触发这些功能,而不必先打开应用。您可以将控制微件看作应用的遥控器。音乐应用微件就是一个典型的例子,这种控制微件允许用户在实际音乐应用之外播放、暂停或跳过音乐曲目。

与控制微件的互动不一定会转到关联的详情视图,具体取决于控制微件的功能是否生成了数据集(例如,在使用搜索微件时)。

混合微件

虽然所有微件往往都属于上述三种类型之一,但实际上许多微件是将不同类型的元素组合在一起的混合微件。

在规划微件时,应让微件以某个基本类型为核心,并根据需要添加其他类型的元素。

音乐播放器微件主要是一个控制微件,但也会告知用户当前正在播放的曲目。它本质上是将控制微件与信息微件类型的元素组合在了一起。

微件限制

虽然您可以将微件理解为“迷你应用”,但在开始着手设计微件之前,务必了解一些限制:

手势

由于微件位于主屏幕上,因此它们必须与在主屏幕上建立的导航共存。与全屏应用相比,这样会使微件只能支持有限的手势。例如,虽然应用可能支持可让用户在屏幕之间横向导航的视图翻页工具,但在主屏幕上已采用该手势,其作用是在主屏幕面板之间导航。

只能对微件使用以下手势:

  • 轻触
  • 纵向滑动

元素

鉴于上述互动限制,一些依赖于受限手势的界面构建基块不适用于微件。如需查看支持的构建基块的完整列表并详细了解布局限制,请参阅应用微件 API 指南中的“创建应用微件布局”部分。

设计准则

微件内容

微件是一种很好的机制,可以“宣传”您的应用中有哪些新鲜有趣的内容可供使用,从而吸引用户使用您的应用。

就像报纸头版上的宣传语一样,微件应整合和浓缩应用的信息,然后提供与应用中更丰富的详情的连接;换句话说:微件是信息“零食”,而应用则是“大餐”。作为底线,应始终确保应用显示的有关信息项的详情比微件已经显示的信息要多。

除了纯信息内容之外,您还应考虑通过提供常用应用区域的导航链接来完善微件的功能。这样不仅能让用户更快地完成任务,而且还能将应用的功能覆盖面扩展到主屏幕。

要呈现在微件上的导航链接的合适候选对象如下:

  • 生成性功能:这些功能可让用户为应用创建新内容,如创建新文档或新消息。
  • 在顶层打开应用:点按信息元素通常会使用户导航到较低层级的详情屏幕。提供对应用顶层的访问可以提高导航的灵活性,并且可以取代用户用来从主屏幕导航到应用的专用应用快捷方式。此外,将应用图标用作启示还可以为微件提供明确的标识,以防您显示的数据含糊不清。

微件大小调整

长按而后松开可以将可调整大小的微件设为大小调整模式。用户可以通过拖动手柄或微件的角设置所需的大小。

大小调整允许用户在主屏幕面板放置网格的限制范围内调整微件的高度和/或宽度。您可以决定微件是可以自由调整大小,还是仅限于在水平或垂直方向上改变大小。如果特定微件本来就大小固定,则您不必支持大小调整。

允许用户调整微件的大小具有以下重要优势:

  • 他们可以微调要在每个微件上看到多少信息。
  • 他们可以更好地改变其主屏幕面板上的微件和快捷方式的布局。

规划微件的大小调整策略取决于您要创建的微件类型。基于列表或网格的集合微件通常很简单,因为调整微件的大小只会扩展或收缩垂直滚动区域。无论微件有多大,用户仍可将所有信息元素滚动到视图中。另一方面,信息微件需要多一点实操规划,因为它们不可滚动,并且给定的大小必须容纳得下所有内容。您必须将微件的内容和布局动态调整到用户通过大小调整操作定义的大小。

在这个简单的示例中,用户可以通过 4 个步骤在水平方向上调整天气微件的大小,并随着微件的扩展在当前位置显示更丰富的天气信息。

针对各种微件大小,确定应呈现多少应用信息。如果微件较小,应集中显示基本信息,然后随着微件在水平和垂直方向上扩展而添加更多相关信息。

布局注意事项

您往往倾向于根据您拥有和开发时用到的特定设备的放置网格尺寸来布置微件。当您布置微件时,这可能是一个有用的初始近似值,但请注意以下几点:

  • 单元格的数量、大小和间距可能因设备的不同而有很大的差异,因此微件一定要非常灵活,能够容纳比预期更多或更少的空间。
  • 事实上,当用户调整微件的大小时,系统会以一个 dp 大小范围(微件可以在此范围内自行重新绘制)做出响应。如果您根据不同的“大小范围”(而不是可变网格尺寸)规划微件大小调整策略,将能够获得最可靠的结果。

微件配置

有时,需要先设置微件,然后它们才能变得有用。以电子邮件微件为例,您需要先提供一个帐号,然后才能显示收件箱。再以静态照片微件为例,用户必须指定要从图库中显示的图片。

将 Android 微件放到主屏幕面板上之后,微件会立即显示其配置选项。应让微件配置保持轻巧,不要显示超过 2 到 3 个配置元素。使用对话框样式的 Activity 而不是全屏 Activity 来显示配置选项,并保留用户的位置上下文,即使这样做需要使用多个对话框。

一旦设置完成,通常就没有什么理由重新访问设置了。因此,Android 微件不会显示“设置”或“配置”按钮。

向主屏幕面板中添加播放微件后,该微件将要求用户指定它应显示的媒体类型。

检查清单

  • 在微件上重点显示小部分一目了然的信息。在应用中扩展信息。
  • 根据用途选择合适的微件类型。
  • 对于可调整大小的微件,规划微件的内容应如何适应不同的大小。
  • 通过确保布局能够拉伸和收缩,使微件方向与设备无关。