教程

6

阅读时间

ProtoPie 日历教程(第二部分)

这是日历教程的第二部分,内容包括横向日历菜单、添加导航抽屉以及 FAB(浮动操作按钮)。

罗布·克利顿, Cookpad 首席移动产品设计师

这是日历教程的第二部分。第一部分将指导你设置工作区并添加视差图片。在第二部分中,我将介绍横向日历菜单、添加导航抽屉以及 FAB(浮动操作按钮)。

本教程大约需要 20–30 分钟。开始之前,我将假设你已经下载了基础版 ProtoPie(不包含交互)。

1. 添加横向日历菜单

我们期望的效果是:用户点击标题栏后,区域会纵向展开,使用户可以在月份之间横向滚动,再次点击即可关闭。


A horizontal calendar menu gif


我们期望的结果

我们期望的结果将遵循典型的ProtoPie 概念模型


ProtoPie conceptual model


ProtoPie 概念模型

Header 对象 + Tap 触发器 + 响应(高度缩放到 74px,箭头旋转 180º,日历不透明度 100%)

先添加点击时纵向展开 Header 的操作。由于我们还希望用同一操作来纵向收起 Header,因此需要添加一个 Condition。该 Condition 的规则是:如果 Header 等于 74px(关闭状态),则将 Header 高度扩展到 400px。


Add the actions to vertically expand the header on tap with a condition


添加 Tap 和 Condition

在左侧图层面板中选中 Header 菜单,添加 Tap 触发器和 Scale 响应。选择 Header-BG 图层,并将其新高度设为 400px。

为 Calendar Container 添加一个新的 Opacity 触发器,并将其不透明度设为 100%。

现在 Header 已可以展开并显示可横向滚动的日历,下一步是在点击 Header 时反向执行这些操作。通过 3 个触发器(Scale、Rotate 和 Opacity)完成,并将它们列在 Condition 之上。见下图。


Scale trigger


Rotate trigger


Opacity trigger

滚动时更改标题中的月份名称


Changing the header month title on scroll gif


Horizontal scrolling calendar will be structure like this


你的横向滚动日历将按这种结构排列。11 月从 x=375px 开始,12 月从 x=750px 开始

给 Calendar 容器添加 Detect 触发器,并在下拉菜单中选择 Scroll。添加第一个条件,再次在下拉菜单中选择 Scroll,值设为 0。然后我们就可以添加当滚动的 X 位置为 0 时要显示的内容,这里是 10 月。

添加两个不透明度操作:Oct(100% 不透明度)和 Nov(0% 不透明度)


Select Scroll from the dropdown with the value of 0

对 11 月重复相同过程,条件值设为 375px;对 12 月设为 750px。

2. 添加导航抽屉


Add Oct 100% opacity

给 Burger 容器添加 Tap 触发器,并添加第一个 Move 响应,将其指定到 NavigationDrawer 容器,新 X 值设为 0。这样抽屉就能在点击时滑出。

在同一个 Burger 对象上添加 Opacity 触发器,并指定到 Overlay,将不透明度设为 70%。这样会形成白色遮罩效果,让用户在视觉上更聚焦于抽屉。

这样你应该会得到如下效果,我们只需要重新排列 Overlay 和 Navigation Drawer 的图层顺序,以获得分层效果。


The following result gif

使用 Bring to front(第 3 个选项)重新排列 Overlay 和 NavigationDrawer 图层。

需要注意的是,使用 Reorder 并将多个对象置于顶层时,原型将遵循从上到下的执行逻辑。见下例,先执行 Reorder Overlay,再执行 Reorder NavigationDrawer。

关闭菜单

给 Overlay 添加 Tap 触发器,并添加 Move 响应,指定到 NavigationDrawer。

3. 添加 FAB 按钮


Adding a FAB button gif

i. 打开 FAB 控件


Open FAB controls

按钮位置

在这个原型中,我们使用了两个额外按钮,在按下 FAB 时它们会从 FAB 下方向上移动。

在 Open-Fab 触发器中添加两个 Move 操作(btn-2 和 btn-3),并为它们设置如下“Move To”Y 值。

  • btn-2 = Y -36px

  • btn-3 = Y -98px

淡入按钮

新增 4 个 Opacity 响应,并分别指定到每个按钮:所有按钮设为 100%,FAB 设为 0%。

ii. 关闭 FAB 控件

与打开 FAB 控件类似,我们只需将这些响应逐一反向重复。除了手动复制粘贴这些响应并分别修改操作外,没有更快捷的方法。

iii. 点击屏幕任意位置关闭 FAB 控件

一个简单步骤:复制 Close-Fab 点击触发器中直到 Rotate 为止的操作,并将其粘贴到 Overlay 的新 Tap 触发器中。这样用户就可以点击屏幕任意位置来关闭 FAB 控件。

就是这样,整体很简单,并且能为你构建自己的原型打下良好基础,或者只是开始熟悉 ProtoPie 应用。如果有任何问题或评论,欢迎在下方留言;如果你有想看的下一篇教程主题,也欢迎联系我。

[下载可运行文件]