毛茸茸的动物朋友和自适应 API

Android 设备种类繁多,外形和屏幕尺寸各不相同,因此针对特定像素完美的完整标识进行设计不仅无效,还可能会对用户体验产生负面影响。相反,您应以自适应的方式进行设计、构建和思考。我们最近推出了新的 API,引入了一些熟悉的设计概念,可帮助您构建自适应布局。

Pawparazzi 是一款展示这些概念的示例应用。它旨在突出显示使用自适应 API(例如 Grid 和 Flexbox)的自适应设计。

Pawparazzi 是一款面向宠物的社交应用示例。

自适应思维不仅涉及使用断点进行设计,还涉及在灵活的容器中考虑内容。

一切皆为网格!

拥有用于构建内容的基础有助于采用良好的设计实践,并帮助您确定内容应如何调整。Android 具有一个基本的 8 dp 基准网格,我们可以将所有内容在微观层面上对齐到该网格。

Pawparazzi 使用的是分层布局网格,而不是均匀的模块化网格或单向列网格,这意味着构成它的列和行是根据内容层次结构确定的。

pawparazzi 中使用的布局网格

网格类型的选择应取决于内容。首先,从应用内容入手,思考如何将内容分组。这有助于确定整体布局结构。如需详细了解如何以窗格为单位进行思考,请参阅网格和单元内容结构桌面设备入门

对于 Pawparazzi,主要目标是以各种方式查看团队的宠物,首先是宠物概览、宠物详细信息,然后是宠物排名。这意味着宠物图库将占据主要内容窗格和网格的更多空间,然后是导航和过滤元素。当有更多空间时,此功能可让图库扩展到更多行,显示更多宠物,并同时显示宠物详细信息。这种自适应原则是显示,即在较大的布局上显示更多内容。

通过了解应用的主要目标和内容,我们确定了布局网格需要以何种方式在何时进行调整:哪些窗口类大小、铰链放置位置和设备屏幕方向。

从布局网格来看,子网格有助于构建更灵活的内容结构。 图库本身就是一个网格。对于紧凑型尺寸,则使用 2 列网格。

手机上的主屏幕

网格是一种双向布局概念,因此内容可以沿水平方向和垂直方向流动。

Feed 网格的结构

这可用于创建更具吸引力的布局或更清晰的视觉层次结构,例如“每周宠物”,其中网格用于传达排名最高的宠物。网格可以是 2x4,但顶部位置跨越 2 列和 2 行。

所有这些都是通过 Grid API 完成的。

网格单元格可以跨多个行和列。

灵活使用这些组件

虽然网格涵盖了宏观和微观内容结构,但 Flexbox 有助于处理需要响应其内容的组件。此值用于单向内容,其中仅规定了水平或垂直方向。例如,过滤芯片可以响应其标签,并且过滤区域可以根据过滤条件的数量进行扩展。在大屏幕上使用 Reveal 可一次性显示更多滤镜。

灵活的过滤条件行

细致的查询

通过设计布局网格并使用网格和 Flexbox,我们可以实现适用于多种屏幕的自适应布局,甚至可以适应可折叠设备等独特的外形。但如果用户使用环境不同,又该怎么办呢?Android 用户可以连接到显示屏或插入鼠标!借助 MediaQuery,我们可以做出细致的设计决策,以适应各种情境下的用户。

在 Pawparazzi 中,这意味着利用精确的指针输入,实现更小的目标区域和更密集的内容。

使按钮适应桌面设备输入。


Android AdaptiveUI 示例

探索针对大屏设备优化的出色设计。浏览热门应用类别(包括媒体、创意、游戏等)的界面/用户体验模板。

查看 Figma Kit