`
nanapoleon
  • 浏览: 48176 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

继续说说动画

阅读更多
奥运男篮太精彩了,呵呵,这周更新点比较水的吧,最近工作真的好忙,没有办法写些经典的了。
在开发中,2.3以前的动画架构,已经非常慢了。因为,一个没有硬件加速,一个是做动画每次都要重绘所有的绘画动作。在3.0以后增加了一个新的动画接口,使得很多动画可以更高效的完成。
    看看下面的例子:
ValueAnimator bounceAnim = ObjectAnimator.ofFloat(view, "width",
              startW, endW);
colorAnim.setDuration(3000L);
colorAnim.setRepeatCount(ValueAnimator.INFINITE);
colorAnim.setRepeatMode(ValueAnimator.REVERSE);
colorAnim.start();

第一句,先构建ValueAnimator对象,看看后面的构造方法,影响参数width,对应的view(view都会有setWidth方法,当然可以使用别的对象,只要有setWidth方法都适用)。下面的都和2d一样了,start起来即可实现一个变换宽度的动画了。
   这个方法,可以使用硬件加速,我觉得因为是此方法不会改变view的绘画形态,直接使用绘画缓冲就行(专业名词好像叫缓冲列表),这些方法正好适用于开启硬件加速。
   除了方便加速,这个架构,还可以把我们从android以前定义的动画解放出来(如只能作平移,变大变小等)。这里正好和我前面的一个动画章节中说的也基本一样(和google想一起了,自豪一个 >.<),android解决的何时画的问题,怎么画就交给了我们,我们在这个架构下,按他给我们的预留接口,每帧想做什么都是可以的,比如我自己写个set方法setB,我们把例子里的width换成B就好了。
    还有种方法,这里就算使用animationListener也会很方便的实现动画。因为在每次更新都会掉到update回调方法,这样,我们就可以把动画的代码放到这里来(还是android接管何时画,我们来管画什么),这个架构,在灵活性方面的提高,终于可以让我们做出和苹果相差不多的动画了!代码写着写着发现心情好?那就来个animator吧~怕上火,就用animator~
分享到:
评论

相关推荐

    通过GUI来控制Simulink进行系统仿真-GUI控制钟摆动画.rar

    核心:S-function早软件中实现硬件支持的中断功能,通过刷新系统状态和检测全局变量stopf来确定是继续执行仿真还是终止动画进行.它的每次更新都把stopf变为0,但控制器的按钮按下把stopf变成1,在S-function每次计算...

    支持鼠标悬停浮动的Flash气泡提示.rar

    它们可以是非模态的,允许用户继续与界面交互,或者模态的,要求用户先关闭提示才能继续操作。在这个Flash实现中,气泡提示不仅会显示,还会随着鼠标的移动而“浮动”,增加了视觉吸引力。 再来说说“弹性效果”。...

    Android仿微信发表说说实现拍照、多图上传功能

    这样我们可以在适配器的`getView`方法中判断当前显示的是哪张图片,并根据位置决定是否显示“+”号,以提示用户还可以继续选择图片: ```java private int mMaxPosition; ... if (position == mMaxPosition - 1) { ...

    基于jquery的弹出层插件

    在基于jQuery的弹出层插件中,我们可以创建这样的弹出层,而且它们是非模态的,意味着用户可以继续与背景页面进行互动,而不仅仅是停留在弹出层上。 接下来,我们要讨论的是插件的拖动功能。在网页中,用户可能需要...

    JQuery1.63(含vsdoc智能提示+1.6中文手册chm格式)

    《jQuery 1.6.3:智能提示与中文手册解析》 jQuery,作为一个广泛应用于Web开发的JavaScript库,因其简洁的API和...在后续的版本中,jQuery继续保持着更新和优化,但1.6.3作为经典版本,仍然值得我们去研究和借鉴。

    动手玩转Scratch2.0编程 pdf

    适合哪些对编程感兴趣,又想继续深入学下去的青少年。 先看书的目录: 第1章:准备开始(软件安装、软件介绍) 第2章:动作和绘图 第3章:外观和声音 第4章:过程 第5章:变量 第6章:用逻辑做决定 第7章:深入...

    中考生物总复习 第五单元 生物圈中的人 第三节 人体代谢废物的排出教学设计 教案.doc

    大部分的葡萄糖、部分水和无机盐被肾小管重新吸收回血液,而尿素、尿酸等废物则继续留在原尿中,形成尿液。 - 经过肾小管的重吸收,剩下的液体就是尿液,最终通过输尿管、膀胱和尿道排出体外。 2. **血浆、原尿、...

    弹框 遮罩层 alert提示 样式

    例如,通过CSS动画,我们可以让弹框出现时有心跳般的闪烁效果,或者在遮罩层上添加动态过渡,使页面更具吸引力。 至于文件“jDialog-master”,这可能是一个JavaScript库或插件,用于创建具有高度定制性的弹框。...

    抽獎系統異步刷新.rar

    在编程中,异步操作是处理耗时任务的一种策略,它允许应用程序在等待某个操作完成的同时继续执行其他任务,从而提高整体性能和用户体验。异步刷新通常用于实时更新用户界面,例如在抽奖系统中,当用户点击抽奖按钮后...

    通关!游戏设计之道 epub

    第16关 过场动画,或者说根本没人看的东西 307 8个步骤,轻松写剧本 309 第16关的攻略和秘籍 313 第17关 最难的关底 315 没人关心你那愚蠢的小世界 315 做游戏是件非常困难的工作 317 再来一个怎么办 320 ...

    高仿微信界面

    现在三个Fragment已经添加到了MainActivity中,滑动ViewPager切换Fragment,同时底部的导航栏也会切换,在为ViewPager添加监听以前,先说说底部导航栏。 第二步,底部导航。 这个的切换其实就是切换准备好的png...

Global site tag (gtag.js) - Google Analytics