博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android动画AnimationSet遇到的问题。
阅读量:5240 次
发布时间:2019-06-14

本文共 1690 字,大约阅读时间需要 5 分钟。

  之前对Android动画这块一直是一知半解,知道个大概,并不会使用。刚好这几天没有太多的任务要做,可以梳理一下Android动画的一些知识。Android Animation的基础用法就不说了,这里主要记录下简单实用中遇到的问题。

1.XML中AnimationSet的某些属性有些问题。

  主要就是android:repeatCount,android:repeatMode无效。这个问题据说是Google的工程师刻意为之。【参考:http://stackoverflow.com/questions/4480652/android-animation-does-not-repeat】。

不过也有一些补救措施,比如可以给Animation设置AnimationListener。然后在onAnimationEnd()方法中,重新开始一遍动画即可。

2.AnimationSet的动画添加顺序问题。

  由于AnimationSet的addAnimation()方法添加的动画会按照添加动画的顺序进行矩阵变化等等处理,所以假设有一系列的动画(不只有一个变换位置的动画)作用于A上使得A转换成了B,那么如果想通过另外一系列动画使得B还转换成之前的A,最好保证前后两次转换的动画的顺序相同。比如图片image先后经过动画:a,b,c变换成image2,如果想再从image2变换成image,那么动画的顺序也需要a,b,c(当然这个前提是要有多个可能产生位置变化的动画)

举个例子:在XML中定义动画:先ronate、然后alpha、接着scale,最后translate。

  如果需要在把动画还原,需要:

AlphaAnimation alphaAnimation = new AlphaAnimation(0.5f, 1.0f);RotateAnimation rotateAnimation = new RotateAnimation(360f, 0f,				                Animation.RELATIVE_TO_SELF, 0.5f,						Animation.RELATIVE_TO_SELF, 0.5f);ScaleAnimation scaleAnimation = new ScaleAnimation(4.0f, 1.0f,						4.0f, 1.0f, Animation.RELATIVE_TO_SELF, 0.5f,						Animation.RELATIVE_TO_SELF, 0.5f);TranslateAnimation translateAnimation = new TranslateAnimation(						Animation.ABSOLUTE, -100,						Animation.ABSOLUTE, 0,						Animation.ABSOLUTE, -800,						Animation.ABSOLUTE, 0);AnimationSet set = new AnimationSet( true);set.setInterpolator(new AccelerateDecelerateInterpolator());set.addAnimation(alphaAnimation);set.addAnimation(scaleAnimation);set.addAnimation(rotateAnimation);set.addAnimation(translateAnimation);set.setDuration(3000);

不然就有可能在转换的过程中,动画不流畅,出现闪动的现象。  

转载于:https://www.cnblogs.com/pzyoung/p/4268702.html

你可能感兴趣的文章
Oracle 存储过程判断语句正确写法和时间查询方法
查看>>
Eclipse下Android开发环境配置以及如何快速更新Android SDK
查看>>
[转]curl的错误代码
查看>>
在W3C SCHOOL网站上发现一个关于Schema的错误
查看>>
zbb20180913 java thread 死锁示例代码
查看>>
JS获取当前时间
查看>>
c# 正则表达式
查看>>
poj 2398 Toy Storage
查看>>
如何在手机上面安装iPA应用包
查看>>
Python基础第十二天——模块的分类、时间模块、随机数模块、摘要算法模块、os模块、时间形式轮换...
查看>>
JS总判断控件为null
查看>>
单链表的逆转(测试数据)
查看>>
瞬间之美:Web 界面设计如何让用户心动
查看>>
HTML,javascript,Json数据在线格式化工具
查看>>
[置顶] Web开发工具
查看>>
SpringBoot自动配置的实现原理
查看>>
css实现垂直居中的几种方法
查看>>
第11章 缓存机制
查看>>
GDI与GDI+ 贴图性能对比
查看>>
线段树 (扫描线)
查看>>