第一次练习

练习1

根据官网上的视频教学,开始了Origami的学习。教学是以一个类似Facebook的社交App的时间轴界面为例子,首先拖拽图片,自动生成一个图片图层,接下来插入一个ScrollPatch,直接连接图片的图层就实现了滚屏的效果。然后就是添加剩余的界面元素,按照设计稿的位置排布。

因为这个教程的交互比较简单,就没有考虑到交互添加的顺序问题,基板上是按照从底层到上层,从上往下的顺序。想必在设计比较复杂的界面时要考虑得更完善一些。

首先做的是标题栏的收缩,这个交互的逻辑是,首先用Transition设定标题栏要收缩的高度(32px),再取时间轴图片滚动时的Y坐标,用Progress同样设定32px的距离,连接到标题栏的Transition,发现标题栏会完全消失,这是由于没有限定Transition的值导致超过1,然后在滚动的Progress和标题栏的Transition之间加一个Range,限定为0~1的值,效果达成。对于标题栏上的文字和按钮,将Range的输出直接连到标题栏组的模块上,会生成一个新的节点,在标题栏组里将这个节点分别连上文字和按钮的Scale和Opacity过程,就完成了。测试时发现顶部状态栏会被截掉,这是由于标题栏组的对齐锚点在中心,改成顶部居中,问题解决。

其余的两个交互动作分别是:首页点击某张照片弹出详情页;发布新状态。第一个效果是先添加一个HitArea,再添加Interacion,讲Tap节点连接到使详情页出现的Swipe动作上面,同时添加首页的渐进渐出效果。

第二个效果是最复杂的,分为两部分,一是点击加号按钮弹出新状态编辑页面,这个比较好做,用Interacion连接两个元素,记得要用Switch来保证弹出后不会消失。二是点击编辑页面的Post按钮后,编辑页退出,首页下降一定的高度,留出空白,接着新发布的状态出现。过程是,先给编辑页的两个按钮加上HitArea,是用w快捷键添加Wireless模块,再在上一层添加WirelessReceiver,用Logic模块设定按两个按钮之一都能使编辑页关闭;接下来添加点击Post按钮时新状态出现的效果,并且将首页的高度增加900px(正是新状态需要的高度)以留出空白。此时发现,留出空白和新状态出现是同时的,并没有先后顺序,这就需要复制这个动画模块,并且使用Delay模块延迟新状态的出现,达到效果。

最后一个效果是现在还没完全弄懂的,只是照着做。就是当新状态增加了之后,标题栏并没有按照原先设定的高度进行收缩,需要进行调整。首先复制原先让标题栏收缩的Progress模块,同样连接上Scroll模块的Y坐标节点,将Start和EndValue改成添加新状态后的坐标值和坐标值+32,将初始首页连接Transition的StartValue,将添加后的首页连接EndValue,Progress连接留出空白的动画模块,效果达成。

此外,我觉得Origami中有些概念比较关键,比如0和1的概念,0表示关闭、无效果,1表示打开、有效果。很多时候都需要用到这个思路。还有一些技巧,比如按住Option拖移模块和连接线可以复制;连接操作模块和图层可以只对该图层进行操作。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,848评论 25 709
  • 内容抽屉菜单ListViewWebViewSwitchButton按钮点赞按钮进度条TabLayout图标下拉刷新...
    皇小弟阅读 46,963评论 22 665
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,312评论 4 61
  • 这次去黄山的行程安排是这样的:周五下午出发,傍晚到达黄山脚下,周六上午开始爬黄山,傍晚去屯溪老街,周日上午游览宏村...
    rainbow暖暖阅读 345评论 0 0
  • 我也曾胖的亲妈都不认我,后来啊,靠着长达4年的不吃晚饭,饿到麻木。 我都能做到即使跳舞排练集训一个月每天跳到累晕了...
    夕小姐的博阅读 320评论 0 0