Skip to content

Latest commit

 

History

History
128 lines (68 loc) · 9.06 KB

App小部件概述.md

File metadata and controls

128 lines (68 loc) · 9.06 KB

App小部件概述

小部件是主屏幕定制的重要方面。您可以将它们想象为用户可以直接在主屏幕上访问的应用程序中最重要的数据和功能的“一目了然的”视图。用户可以在其主屏幕面板上移动小部件,如果支持,还可以调整它们的大小以根据用户的偏好定制小部件中的信息。

此文档介绍了您可能要创建的不同类型的小部件以及要遵循的一些设计原则。要开始构建应用小部件,请阅读构建应用小部件

小部件类型

在开始规划小部件时,请考虑您尝试构建的小部件的类型。小部件通常有以下类别:

信息小部件

信息小部件通常显示一些对用户很重要的关键信息,并跟踪信息随时间的变化情况。信息小部件的好例子是天气小部件,时钟小部件或体育比分跟踪器。触摸信息窗口小部件通常会启动关联的应用程序并打开窗口小部件信息的详细视图。

widgets_info

集合(Collection)小部件

顾名思义,集合小部件专门用于显示相同类型的众多元素,例如来自图库应用程序的图片集合,来自新闻应用程序的文章集合或来自通信应用程序的电子邮件/消息集合。集合小部件通常关注两个用例:浏览集合、将集合的元素打开到其详细视图以供使用。集合小部件可以垂直滚动。

widgets_collection_gmail

Listview 小部件

widgets_collection_bookmarks

GridView小部件

控制小部件

控制小部件的主要目的是显示用户可以直接从主屏幕触发的常用功能,而无需先打开应用程序,它们被视为应用程序的远程控制。控件小部件的典型示例是音乐应用小部件,其允许用户在音乐应用之外播放,暂停或跳过音乐曲目。

与控件小部件的交互是否会延伸到关联的详细信息视图取决于控制小部件是否生成数据集。

widgets_control

混合小部件

虽然所有小部件倾向于倾向于上述三种类型中的一种,但实际上许多小部件是组合不同类型的元素的混合小部件。

出于规划小部件窗口的目的,将窗口小部件围绕其中一个基本类型居中,并根据需要添加其他类型的元素。

音乐播放器小部件主要是控件小部件,但也使用户了解当前正在播放的音轨。它基本上将控件小部件与信息小部件类型的元素组合在了一起。

widgets_hybrid

小部件限制

尽管小部件可以被当做"迷你app",但是在你开始设计你的小部件之前,还是需要了解一些重要的小部件限制:

手势

由于小部件位于主屏幕上,因此它们必须与已经建立主屏幕上的导航共存。与全屏应用程序相比,这限制了窗口小部件中可支持的手势。例如虽然某些应用程序可以支持用户横向滑动以在不同屏幕之间切换,但是该手势已经在主屏幕上应用以便在主屏幕之间导航,所以就不能应用在小部件上。

唯一可用于小部件的手势是:

  • 触摸
  • 垂直滑动

widgets_gestures

元素

鉴于上述交互方式的限制,依赖于受限制的手势的一些UI构建块( UI building blocks)也不可用于窗口小部件。有关支持的构建块的完整列表以及有关布局限制的更多信息,请参阅构建应用程序小部件中创建应用程序布局部分。

设计原则

小部件内容

窗口小部件是一种可以通过"宣传"您app中有趣的内容和新内容来很好的吸引用户到你的app的方式。

就像报纸头版上的teasers一样,小部件应该整合并集中应用程序的信息,然后在应用程序中提供更丰富的细节。或者换句话说:小部件是“小吃”信息,而应用程序是“用餐”。作为底线,始终确保您的应用程序更显示详细信息,而不是窗口小部件已显示的信息。

小部件导航

除了单纯的信息内容,您还应该考虑通过提供应用程序常用区域的导航链接来完善您的小部件产品。这使用户可以更快地完成工作,并将应用程序的功能范围扩展到主屏幕。

适用存在于小部件中的典型导航链接有:

  • 生成功能:这些功能允许用户为应用创建新内容,例如创建新文档或新消息。
  • 在顶层打开应用程序:点击信息元素通常会将用户导航到较低级别的详细信息界面。提供对应用程序顶层的访问可提高导航的灵活性,还可以替换用于从主屏幕导航到应用程序的专用应用程序的快捷方式。使应用程序图标作为可用的还可以为您的窗口小部件提供清晰的标识,以防您显示的数据不明确。

resize小部件

widgets_resizing01

长按之后松开可以将可调整大小的小部件设置为调整大小模式。用户可以使用拖动手柄(就是上图上的四个点)或小部件角来设置所需的大小。

调整大小允许用户在主面板放置网格的约束内调整窗口小部件的高度和/或宽度。您可以决定您的窗口小部件是否可以自由调整大小,或者是否受限于水平或垂直大小更改。如果您小部件本身是固定大小的,则不必支持调整大小。

允许用户调整窗口小部件的大小具有重要的好处:

  • 他们可以微调他们想要在每个小部件上看到多少信息。
  • 它们可以更好地影响其主页面板上的小部件和快捷方式的布局。

规划窗口小部件的调整大小策略取决于您正在创建的窗口小部件的类型。列表或基于网格的集合小部件通常很简单,因为调整小部件的大小只会扩展或收缩垂直滚动区域。无论窗口小部件的大小如何,用户仍可以将所有信息元素滚动到视图中。但是,信息小部件需要更多的手动规划,因为它们不可滚动且所有内容必须适应给定大小。您必须动态调整窗口小部件的内容和布局,使其达到用户通过调整大小操作定义的大小。

widgets_resizing02

在这个简单的示例中,用户可以分4个步骤水平调整天气小部件的大小,并在小部件大小增长时在当前位置显示更丰富的天气的信息。

对于每个小部件大小,确定应该显示的应用程序信息量。对于较小的尺寸,请将更关注于必要的信息,然后在窗口小部件水平和垂直增长时添加更多信息。

考虑布局

根据您目标设备的放置网格( placement grid)的尺寸来布置窗口小部件很有诱惑力,在布局窗口小部件时,这可能是一个有用的近似初始值,但请记住以下几点:

  • grid cells的数量、大小、边距会因设备而异,因此,保证您的控件非常灵活,可以容纳比预期更多或更少的空间是非常重要的。
  • 实际上,当用户调整窗口小部件的大小时,系统将以dp级别的大小进行响应,您的窗口小部件可以在此基础上重绘自己。规划小部件调整大小策略跨“size buckets"而不是可变的网格维度(grid dimensions)将为您提供最可靠的结果。

小部件配置

有时,小部件需要先设置才能发挥作用。例如,可以考虑一个电子邮件小部件,您需要在显示收件箱之前提供帐户,或者是静态照片小部件,其中用户必须设置要从图片库中显示的图片。

Android小部件在小部件被放到主面板后立即显示其配置选项。保证窗口小部件易于配置,不要提供超过2-3个配置元素的小部件。使用Dialog而不是full-screen样式的Activity来呈现配置选项并保留用户位置的上下文(user's context of place),即使这样做需要使用多个对话框。

设置完成后,通常没有太多理由重新访问设置。因此,Android小部件不显示“设置”或“配置”按钮。

widgets_config

将Play小部件添加到主面板后,小部件会要求用户指定小部件应显示的媒体类型。

总结

  • 专注于您的小部件上的一小部分可浏览信息,在应用中展开详细信息。
  • 为您的需求选择正确的小部件类型。
  • 对于可调整大小的小部件,请规划小部件的内容应如何适应不同的大小。
  • 通过确保布局能够拉伸和收缩,使您的窗口小部件独立于方向和设备。