微信朋友圈的状态栏及标题栏效果原型
最近在研究一些复杂度稍高的交互原型实现,虽然日常工作很少用到,但对于产品经理去分解产品是有帮助的。
偶尔刷朋友圈的时候,往上一滑,微信的标题栏(顶栏)和状态栏的切换一下子抓住了我的眼球,因此想实现一个一样的原型效果,以下是我的思路和最终实现。
最终效果体验:http://pvqr5zhem.bkt.clouddn.com/start.html
一,状态罗列
![](https://img.haomeiwen.com/i4823307/0e5220f428e1ad43.png)
![](https://img.haomeiwen.com/i4823307/f048e6fac4242dfc.png)
二,拆解中间交互流程
整个状态栏+标题栏的变化是随着用户向上滑动而变的,因此,我们定义 H = 用户向上滑动的距离。刷新朋友圈后未进行任何上下滑动时即为 H=0。
同时假设朋友圈的相册封面高度为300(实际上并不是)
随着H的变化,顶栏及状态栏有以下两几种情况:
1、 0<H<200,状态栏背景透明+字体白色,顶栏两个图标白色,不透明度均为100%;
2、 200<=H<250,顶栏不透明度从100%→0,状态栏维持完全不透明;
3、250<=H<300,状态栏字体黑色不透明度100%,背景从透明逐渐变灰;顶栏背景灰色+两个图标、朋友圈字体黑色,透明度从0→100%逐渐显示;
4、300<=H,状态栏灰色+顶栏灰黑,不透明度100%;
这里有一个边界值需注意,在H=250的时候,状态栏是突然从白色切换到黑色的,不透明度维持100%;
三,原型素材准备
此处我用了四个素材:机型外壳、状态栏的动态面板(高度20,背景透明)、顶栏动态面板(高度60,也用于控制状态栏的背景色)、拖动面板(两层动态面板嵌套实现上下滑动效果,里面塞了一堆无意义的色块)
ps:如果对拖动面板不理解的同学自己另行解决…
![](https://img.haomeiwen.com/i4823307/71c49ed735baa3aa.png)
四,交互用例设计
1、定义全局变量H,默认值为0;
2、载入页面时,状态栏、顶栏均为白色;对应设置载入时的两个动态面板状态,此处省略截图;
3、整个交互是围绕“拖动面板 拖动时”发生的,因此对应第三步中的分解,设置0<H<200、200<=H<250、250<=H<300、300<=H 四个条件判断;
4、四个条件中,都加入滑动交互;设置好H的变化,此处我用了 H=[[-p.top]],p为拖动面板内嵌套的内容面板;
5、分条件添加状态栏、顶栏的变化交互:
A、0<H<200,顶栏、状态栏都设置为白色,不透明度100%;
B、200<=H<250,顶栏、状态栏设置为白色,状态栏的不透明度从100%→0,即顶栏不透明度设置为 [[(250-H]*2];
ps,不透明度设置貌似axure 8 或以上才有
C、250<=H<300,顶栏、状态栏设置为黑色(动态面板状态设置),状态栏的不透明度从100%→0,即顶栏不透明度设置为 [[(H-250]*2];
D、300<=H,顶栏、状态栏设置为黑色,不透明度100%,用户继续上滑也不变化;
具体设置如下图
![](https://img.haomeiwen.com/i4823307/f6ccf3063e79b770.png)
如此,即能实现朋友圈上下滑动时,状态栏和标题栏(顶栏)的交互效果。
我这里的数值和微信的实际数值有所差异,主要是为了分解逻辑,次要为了模拟效果实现。
最终效果体验: http://pvqr5zhem.bkt.clouddn.com/start.html
如有想要具体原型rp文件的同学可以加我微信:gyyyngj
更欢迎大家指出我实现方案中的问题,或提出更好实现思路,共同学习~