大连仟亿科技
客服中心
  • 电话
  • 电话咨询:0411-39943997
  • 手机
  • 手机咨询:15840979770
    手机咨询:13889672791
网络营销 >更多
您现在的位置:仟亿科技 > 新闻中心 > 常见问题

WP8页面跳转动画代码

作者:billionnet 发布于:2013/6/4 17:47:57 点击量:

背景

WP系统一向以系统流畅著称,这其中主要归功系统内程序页面间跳转的流畅动画。但很可惜的是sdk本身并没有对应用内使用这些动画效果进行支持。纵观国内WP market 加入页面跳转动画效果的APP也很少(主要原因在于多数APP都在赶功能=。=)但是就移动端而言用户体验应该是时刻关注的重点,因此为程序加些动画效果会让整个APP非常生动。

   

对于页面跳转动画的实现Toolkit中有支持,实际添加也非常容易,下面我们就开始为APP添加。

   

如何实现

使用TransitionFrame很简单只需要两步即可打到动画翻页效果。

   

1、在app.xaml.cs文件中将InitializePhoneApplicatoin将原来的PhoneApplicationFrame改为Toolkit中的TransitionFrame

WP8页面跳转动画代码1

   

2、在页面中配置页面跳转时使用的动画效果:

   

WP8页面跳转动画代码2

WP8页面跳转动画代码3

   

分析:

Toolkit中实现页面跳转动画的思路如下:在导航事件Navigating触发时,TransitionFrame会找到Old content 即离开页面,然后对old content进行动画处理,在动画完成的时候,再对new content进行动画处理,如此便可提供流畅的动画效果。

   

具体一些:

TransitionService.NavigationInTransition是页面作为new content 执行的动画效果,而作为new content分为两种,导航方向为forward,举例说明,比如mainpage->page1,那么page1则会执行NavigationInTransition.Forward里面定义的动画。若导航方向为backward,距离mainpage->page1->page2 back->page1,那么执行NavigationInTransition.Backward内定义的动画。

   

Toolkit内定义了几种翻页效果,包括:Rotate、Slide、Swivel、Turnstile等

具体可参照Toolkit源码内的Sample查看。

   

性能考虑:

如此是否对性能产生影响?这个问题相信在很多场合下会提出来,加个动画对性能影响会不会很大

   

未开启动画的情况下执行5次页面跳转:

   

5

   

开启动画时相同操作:

 WP8页面跳转动画代码6

   

分析上图可以看出动画效果对于cpu及内存影响不大,对于wp8系统来说在可接受范围内,提升的用户体验和消耗的资源来比,是比较值得的。

   

   

注意:

对于WP程序而言,应时刻保持程序的响应,随时保持UI线程任务量最低,与UI线程无关的工作尽可能放到后台线程来执行,理论上而言耗时超过50ms的工作都该在非UI线程中执行。

而就页面跳转动画而言,页面的构造时间NavagatedTo,Loaded响应事件的执行时间都对动画效果产生影响,严重的时候动画直接失效,因此,一定保证页面的数据加载都在后台执行,以保证很好的用户体验。

   



分享到:


评论加载中...
内容:
评论者: 验证码:
  

Copyright@ 2011-2017 版权所有:大连仟亿科技有限公司 辽ICP备11013762-1号   google网站地图   百度网站地图   网站地图

公司地址:大连市沙河口区中山路692号辰熙星海国际2215 客服电话:0411-39943997 QQ:2088827823 42286563

法律声明:未经许可,任何模仿本站模板、转载本站内容等行为者,本站保留追究其法律责任的权利! 隐私权政策声明