Google play icon页面跳转时,APP icon的动画实现方案是什么思路

又打算动手写了
上次写的,这次随着学习的进度使用新的玩法。
最近在搞GIT的学习,结果把好好的项目玩坏,都不知道当时是怎么想的拿在写的APP来玩GIT,害我重写了好几次。
发条弹幕压压惊Σ(っ °Д °;)っ
0.两个动画的定义
以前从来不定义名字,应为有取名综合征。最近我又嫌弃这搞法太长,经常打字缺斤少两的。
Storyboard.TargetProperty=&(UIElement.RenderTransform).(CompositeTransform.ScaleY)&
现在短了多清爽
&!--#region 子框架进入动画--&
&Storyboard x:Name=&childrenInStoryboard&
x:FieldModifier=&public&
Completed=&childrenInStoryboard_Completed&&
&DoubleAnimation x:Name=&childrenInDA&
Storyboard.TargetName=&childrenFrameCompositeTransform&
Storyboard.TargetProperty=&TranslateX&
Duration=&0:0:0.5&&
&DoubleAnimation.EasingFunction&
&QuarticEase
EasingMode=&EaseIn&/&
&/DoubleAnimation.EasingFunction&
&/DoubleAnimation&
&/Storyboard&
&!--#endregion--&
&!--#region 子框架退出动画--&
&Storyboard x:Name=&childrenOutStoryboard&
x:FieldModifier=&public&
Completed=&childrenOutStoryboard_Completed&&
&DoubleAnimation x:Name=&childrenOutDA&
Storyboard.TargetName=&childrenFrameCompositeTransform&
Storyboard.TargetProperty=&TranslateX&
Duration=&0:0:0.5&&
&DoubleAnimation.EasingFunction&
&QuarticEase
EasingMode=&EaseInOut&/&
&/DoubleAnimation.EasingFunction&
&/DoubleAnimation&
&/Storyboard&
&!--#endregion--&
1.使用Frame本身就有的Navigating和navigated事件来执行开闭动画。
/// &summary&
/// childrenFrame导航开始前
/// &/summary&
/// &param name=&sender&&&/param&
/// &param name=&e&&&/param&
private void childrenFrame_Navigating(object sender, NavigatingCancelEventArgs e)
childrenFrameCompositeTransform.TranslateX = 0;
//1.设置childrenFrame导航进入动画
EdgeUIThemeTransition inStoryoard = new EdgeUIThemeTransition();
//2.只有在导航是新实例才执行动画
if (e.NavigationMode == NavigationMode.New)
#region 系统定义的边缘UI
//inStoryoard.Edge = EdgeTransitionLocation.R
//TransitionCollection tc = new TransitionCollection();
//tc.Add(inStoryoard);
//childrenFrame.ContentTransitions =
#endregion
#region 自定义动画
childrenInDA.From = this.ActualW
childrenInStoryboard.Begin();
#endregion
/// &summary&
/// 导航结束
/// &/summary&
/// &param name=&sender&&&/param&
/// &param name=&e&&&/param&
private void childrenFrame_Navigated(object sender, NavigationEventArgs e)
var tempPageE = e.Content as P
switch (tempPageE.Tag.ToString())
case &安全页面&:
(childrenFrame.Content as SafePage).BackEvent += MainPage_BackE
2.在所有需要的退出的动画的页面实现BackEvert委托
public sealed partial class SafePage : Page
internal delegate void GoBackHandler();
internal event GoBackHandler BackE
public SafePage()
this.InitializeComponent();
3.在MainPage.cs中实现MainPage_BackEvent
/// &summary&
/// 实现各个页面定义的委托
/// &/summary&
private void MainPage_BackEvent()
//1.设置退出动画的TO属性
childrenOutDA.To = this.ActualW
//2.动画开始
childrenOutStoryboard.Begin();
3.还有一点要在退出动画结束的时候重置一些数据
/// &summary&
/// childrenFrame退出动画结束
/// &/summary&
/// &param name=&sender&&&/param&
/// &param name=&e&&&/param&
private void childrenOutStoryboard_Completed(object sender, object e)
childrenFrame.ContentTransitions =
childrenFrame.Content =
childrenFrame.SetNavigationState(navInfo);
childrenFrameCompositeTransform.TranslateX = 0;
顺手再来个双击退出
在Mainpage中注册后退管理事件
/// &summary&
/// MainPage载入
/// &/summary&
/// &param name=&sender&&&/param&
/// &param name=&e&&&/param&
private void MainPage_Loaded(object sender, RoutedEventArgs e)
//1.注册后退管理
SystemNavigationManager.GetForCurrentView().BackRequested += MainPage_BackR
TIP:虽然SystemNavigationManager.GetForCurrentView().BackRequested是系统级别的事件最好是+=了就-=我这里没这么做。因为我这个是当全局来用的。APP退出了也就没那必要了不是。
bool IsExit =
/// &summary&
/// 响应后退按钮
/// &/summary&
/// &param name=&sender&&&/param&
/// &param name=&e&&&/param&
private async void MainPage_BackRequested(object sender, BackRequestedEventArgs e)
if (childrenFrame.Content != null)
e.Handled =
if (childrenFrame.CanGoBack)
childrenFrame.GoBack();
childrenOutDA.To = this.ActualW
childrenOutStoryboard.Begin();
if (e.Handled == false)
if (IsExit)
//1.退出APP
Application.Current.Exit();
e.Handled =
ExitTipTextBlock.Text = &再按一次(,,o?o)ノ゛ByeBye&;
ExitTipBorder.Visibility = Visibility.V
await Task.Delay(1500);
ExitTipBorder.Visibility = Visibility.C
欢迎大家指点更好的方法。(o'ー'o)
这个办法在可以导航的时候时 执行的是childrenOutStoryboard动画,会导致在弹出页面中再次进行的导航后后退没有动画(按物理导航按钮时)
阅读(...) 评论()即时新闻黑盾网安_linux日常操作、维护视频培训教程
01、red hat linux 9.系统安装
02、linux 常用系统命令介绍
03、linux常用系统命令
04、Linux 基础介绍&网络设备配置
05、linux 字...黑鹰基地软件破解提高视频教程共66讲
第一课 学会欺骗_辨别欺骗peid之两例
第二课 vfp_exenc6.20内存型脱壳
第三课 手动修改pe头_telock的iat处理
第四课 winupack脱...吕聪贤FLASH_MX_2004视频教学培训
FlashMX 2004 详细教程内容第一章 动画设计基础--停止命令.zip
FlashMX 2004 详细教程内容第二章 动画制作--超连结命令.zip
Flas...华中红客VIP教程之webshell提权动画教程
第1课:提权概述(了解什么的提权以及常见方法)
第2课: pcanywhere提权
第3课: 利用HASH破解提权
第4课:MYSQL提权(udf.dll)
第5课:Churrasco...
2时间:人气:2430发布者:管理员
XHTML_工具包.rar
XHTML_第1章(1课时).rar
XHTML_第2章(2课时).rar
XHTML_第3章(3课时).rar
XHTML_第4章(4课时).rar
XHTML_第4章(5课时).rar
XHTML_第5章(6课时).rar
XHTML_第6章(7课时).rar
XHTML_第7章(8课时)....1时间:人气:1878发布者:管理员
第1课:免杀的含义以及其原理讲解
第2课:源码免杀基础
第3课:源码处理篇
第4课:定位(重点)
第5课:源码实战免杀瑞星
第6课:源码实战免杀金山
第7课:源码实战免杀江民
第8课:源码实战免杀NOD32
第9课:源码实战免杀卡巴斯基
第10...0时间:人气:1858发布者:管理员
第1课:了解网赚
第2课:淘宝客初级学习
第3课 淘宝客运行思路
第4课 CPC广告的投放
第5课 CPM讲解
第6课 CPA讲解
第7课:利用注册任务赚钱
第8课:淘宝开店日赚50以上
第9课:利用邮箱赚钱
第10课:利用博客赚钱
第11课:利用Q...1时间:人气:2285发布者:管理员
第1课:课程介绍
第2课:内网映射 普通路由映射以及无线路由的映射
第3课:S扫描器的了解以及使用
第4课:了解自动抓鸡工具的原理 学会手动传马
第5课:详解3389爆破(原理+实战)
第6课:详解 135漏洞(原理+实战)
第8课:详解2967漏...0时间:人气:2154发布者:管理员
第1课:什么是批处理
第2课:简单批处理命令(1)
第3课:简单批处理命令(2)
第4课:简单批处理命令(3)
第5课:简单的批处理命令(4)
第6课:简单的批处理命令(5)
第7课:简单的批处理命令(6)
第8课:批处理符号(1)
第9课:批处理符号(2)
第10课:...0时间:人气:2731发布者:管理员
1免杀的意义与教程简介
2简单分析主流杀软特性
3用虚拟机搭建免杀环境
4了解远程控制软件原理
5了解远程控制软件原理
6MyCcl定位文件特征码
7MutiCCL定位文件特征码...0时间:人气:2310发布者:管理员
第1课:标准的开机、关机和启动方式
第2课:键盘和鼠标的使用
第3课:桌面及相关操作
第4课:任务栏的功能及属性修改
第6课:窗口、对话框和菜单的种类
第6课:管理电脑文件和资源
第7课:文件管理与回收站使用
第8课:windows基...0时间:人气:1536发布者:管理员
第1课:零基础认识VMware虚拟机
第2课:VMWare的安装
第3课:在VMWare中安装Windows操作系统
第4课:VMWare中安装Linux操作系统
第5课:VMWare网络设置方案及使用方法
第6课:详解详解VMWare的快照与克隆功能
第7课:详解VMWare...0时间:人气:1534发布者:管理员
灰鸽子系列-第一课
灰鸽子系列.第二课
灰鸽子系列.第三课
灰鸽子系列.第四课
灰鸽子系列.第五课
灰鸽子系列.第六课...0时间:人气:1686发布者:管理员
深层剖析程序《一》
深层剖析程序《二》
深层剖析程序《三》
深层剖析程序《四》
深层剖析程序《五》
深层剖析程序《六》
深层剖析程序《七》...&1&&&&&&&注:10月31日上午,2015年复旦管理学奖励基金会颁奖典礼上,徐匡迪理事长为阿里巴巴集团董事这个教程是由某吧友求制作方法而做了出来的。我觉得挺实用的,可印刷成T恤,个性自我介绍,在拉斯维加斯召开的黑客盛典――BlackHat“全球黑帽大会”上,微软特别在展会中心租了大广告本类热门广告
粤ICP备号粤公网安备 28号Copyright (C) 2011-
All Rights Reserved. 陈三少离经叛道,桀骜不驯。关注我们的微信打开微信,点击底部的“发现”,使用 “扫一扫” 即可关注。加入我们的QQ群群名称群号码群状态加入群逐日网内(1)群未满可加逐日网内(2)群暂不可加逐日网外(1)群未满可加逐日网外(2)群暂不可加逐日网外(3)群暂不可加逐日网外(4)群暂不可加加群需遵守群规,严禁一人多群。如有违规,立即清出。登录注册正在加载验证码......注册

我要回帖

更多关于 play icon 的文章

 

随机推荐