• 忘掉天地
  • 仿佛也想不起自己
bingliaolongBingliaolong  2022-06-27 18:30 Aet 隐藏边栏 |   抢沙发  8 
文章评分 1 次,平均分 5.0

创建

窗口

动画事件

  1. 这个初始化函数会在OnInitDialog里面调用,OnInitDialog对应到了MSG_WM_INITDIALOG消息
  2. 可以看到,这里给目标对象,背景图片,添加了阿尔法值变化的相关事件(开始和结束),并绑定到了OnBkgAlphaAniEx函数上
  3. 当启动动画时,会在动画开始前触发EventAlphaAnimateStartEx,进到这个函数里来,动画完成后,会触发EventAlphaAnimateStopEx进到这个函数里来
  4. 这个地方另外还初始化了一些tileview的内容

通知

  1. 别的地方会发通知,CommonlyUsedToolsUIComponent会响应对应通知,并调用Show
  2. 关于通知机制,在上一篇有介绍

触发展示

  1. 窗口的真正展示是上面的Show
  2. 而动画的AniShow是在MSG_WM_SHOWWINDOW的消息映射函数OnShowWindow里面启动的。
  3. 可以看到,是针对阿尔法值的改变

  1. 然后触发以动画开始前的事件触发OnBkgAlphaAniEx

  1. 可以再上面看到,在开始主窗口的阿尔法变化之前,把窗口上的一些元素置为不可见
  2. 动画完成后,以动画完成的事件触发OnBkgAlphaAniEx,可以看到,针对tileview给每个item添加了阿尔法值变化的相关事件(开始,结束,步进变化),并绑定到了函数OnItemAlphaAniEx上了,才把tileview置为可见
  3. 然后针对tileview的每个item,先启动了一个阿尔法值变化的动画,紧接着启动了一个位置变化的动画

触发消失

tileview

  1. 这个被构造后,会根据xml的模板的定义,根据设置的数量,进入同次数的getview,对tileview的每个item,进行相关工作

  1. 可以看到,根据我们既定的目标,对他们使用不同的template进行构造,并且在构造后,把所有的item做一个保存,目的是为了针对具体空间对象启动动画

  1. 可以看到,当tileview的item的动画结束后,启动关闭按钮的显示动画

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

bingliaolong
Bingliaolong 关注:0    粉丝:0
Everything will be better.

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享