Windows Phone开发(37):动画之ColorAnimation
创始人
2024-09-11 21:31:40
0

上一节中我们讨论了用double值进行动画处理,我们知道动画是有很多种的,今天,我向大家继续介绍一个动画类——ColorAnimation。

其实,它和DoubleAnimation也是很像,毕竟所谓动画,无非就是在特定的时间段内,把一个值变为另一个值的一种过度形式。故ColorAnimation就是用于颜色过度动画的。其中,以下几个属性我们只需简单关注一下即可:

1、By:相对于初始值所更改的值的总量。这个属性比较不好理解,所以我把它放到***位,说实话,这种用颜色表示的值确实不好理解。我们不妨用 DoubleAnimation的By属性来理解它,原理是一样的。举个例子,如果一个按钮的宽度Width的值为200,现在我对它进行动画处理,我把 By设置为150,那么,你猜一下,动画的最终值是多少?不用猜,计算一下,既然By表示的是变化的总量,也就是 200 + 150 = ?,这结果不用我告诉你了吧,小学生级别的,你应该会计算的。

好的,再举一个例子如何,比如A类的某依赖项属性X的初始值为300,现在多要对它进行动画处理,我将By设置为-100,动画最终的值 = 300 - 100,这个会算了吧。

2、From:这个好理解 了,就是动画开始时的值,比如,我希望动画效果是,矩形的背景从红色变成蓝色,那么,From的值是不是Red啊?估计不用我给你答案了,你懂的。

3、To:与From相对,就是动画结束时的值,像上面的例子,从红色变成蓝色,也就是说,From = Red,To = Blue  。

好了,上面的内容大概了解一下可以了,千万不要背下来啊,编程是不能背书的,实在不记得了就查文档,查资料, 不能背。不要被砖家误导了。

现在我们可以开始干活了,来,跟着伴奏音乐,一起唱……

First,新建一个WP应用程序项目。

Second,这一步,没什么的,把以下的XAML代码干完,注意理解,不是叫你打字练习啊。

  1.    
  2.        
  3.            
  4.                
  5.            
  6.        
  7.        
  8.            
  9.             
  10.                 Duration="0:0:1"   
  11.                 Storyboard.TargetName="sb"   
  12.                 Storyboard.TargetProperty="Color"   
  13.                 From="Red"   
  14.                 To="Blue"   
  15.                 RepeatBehavior="Forever"/>   
  16.            
  17.        
  18.    

使用RepeatBehavior="Forever"是为了能让动画不断循环播放,如果你希望重复3次就设置为3了,Forever就是***重复。

别忘了在后台代码中启动动画。

  1. public MainPage()   
  2. {   
  3.     InitializeComponent();   
  4.     this.Loaded += (sender, e) => { std.Begin(); };   
  5. }   

现在,你运行应用程序,你会看到很精彩的东西,比《西施秘史》还要精彩。

按照我的习惯,一个例子是不够的,想不想来一个更爽的?如果你想,就继续;如果你不想,请拔掉电脑电源。

接下来我们做一个对渐变画填充进行颜色动画处理,上面的例子,只是针对单色画刷,下面我们干渐变的。

  1.    
  2.     
  3.              VerticalAlignment="Center"   
  4.              Width="400" Height="400">   
  5.            
  6.             
  7.                                  RadiusX="0.5"   
  8.                                  RadiusY="0.5">   
  9.                    
  10.                    
  11.                    
  12.                
  13.            
  14.        
  15.        
  16.            
  17.             
  18.                 Duration="0:0:2"   
  19.                 Storyboard.TargetName="g1"   
  20.                 Storyboard.TargetProperty="Color"   
  21.                 From="LightBlue" To="Green"   
  22.                 RepeatBehavior="Forever"/>   
  23.             
  24.                 Duration="0:0:3"   
  25.                 Storyboard.TargetName="g2"   
  26.                 Storyboard.TargetProperty="Color"   
  27.                 From="Orange" To="Snow"   
  28.                 RepeatBehavior="Forever"/>   
  29.             
  30.                 Duration="0:0:1"   
  31.                 Storyboard.TargetName="g3"   
  32.                 Storyboard.TargetProperty="Color"   
  33.                 From="Yellow" To="Red"   
  34.                 RepeatBehavior="Forever"/>   
  35.            
  36.        
  37.    

后台代码还是不能忘,不然就启动不了动画了。

  1. public Page1()   
  2. {   
  3.     InitializeComponent();   
  4.     this.Loaded += (sender, e) => { std.Begin(); };   
  5. }   

现在,你运行一下,保证比上面的精彩,管你信不信,反正你运行一下就会信了。

 

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...