资源描述:
《android属性动画总结》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Android属性动画的简单使用和总结一.属性动Iffll的相关概念android支持两种动画模式,tweenanimation逐帧动iSj,frameanimation补间动画。属性动画并不属于Android的动画模式,它相当于一种扩展动画。一般来说,我们在自定义控件或者控制一些移动操作的时候会使用到这样的属性动画,其是属性动画并不是想象中那么难,只要看看用法举一反三用用就会了~使用动画有三个重要的要素,开始位置、结束位置、持续时间;比如控制一个图像旋转360度,代码:ImageViewimageview=(lmageView)findViewByld
2、(R.id.img);ObjectAnimator.ofFloat(imageView,rotation”/0F,360F).setDuration(200).start();参数一为控件,参数三、四为移动的开始方向和结束的方向。参数二控制属性的一个变量,只要属性有get和set方法就可以通过属性动画操作它,也是属性动画最重要的一个参数,这个参数的get和set方法一般是系统帮你实现好的。同时执行,多个动作一起执行ImageViewimageview=(lmageView)findViewByld(R.id.img);ObjectAnimator.ofF
3、loat(imageView/"translationX"/0F/200F).setDuration(200).start();〃平移XObjectAnimator.ofFloat(imageView,"rotation"/0F,360F).setDuration(200).start();〃旋转ObjectAnimator.ofFloat(imageView/"translationY",0F/200F).setDuration(200).start));〃平移YObjectAnimator.ofFloat(imageViewz"alpha",0F,l
4、F).setDuration(200).start();〃透明度渐变三个动画可使用类PropertyValuesHolder融合在一起,更加优化,性能提升PropertyValuesHolderpl=PropertyValuesHolder.ofFloat("rotation",0Fz360F);PropertyValuesHolderp2=PropertyValuesHolder.ofFloat("translationX"z0F,200F);PropertyValuesHolderp3=PropertyValuesHolder.ofFloat("tr
5、anslationY"z0F,200F);ObjectAnimator.ofPropertyValuesHolder(imageView,pl,p乙p3).setDuration(1000).start();也可执行AnimatorSet把所有动画添加到一起播放AnimatorSetset二newAnimatorSet();ObjectAnimatoraml=ObjectAnimator.ofFload(imageView,l,rotation,t,0F/360F);ObjectAnimatoram2=ObjectAnimator.ofFloat(ima
6、geView/,ltranslationX,,,0F,200F);ObjectAnimatoram2=ObjectAnjmator.ofFloat(imageView/,,translationYH/0F,200F);set.playTogether(anl,an乙an3);set.setDuration();set.start();把这句set.playTogether(anl,an2,an3);变为set.playSequentially(anl,an2,an3);可实现按顺序播放动画实现同时播放和后播放的效果://先执行an2和an3,后执行anl
7、set.play(an2).with(an3);set.play(anl).after(an2);动画的监听事件ObjectAnimatoran=ObjectAnimator.ofFloat(imageView,,,alpha,,/0F/lF).setDuration(200).start();//旋转想实现动画结朿的监听只要实现an.addListener(newAnimator.AnminatorListener(){〃实现里而所有的方法,真正运用的一般都是动画结束时的监听});・属性动画的一个实例程序运行后,页面显示效果:海马玩全屏控制显示内咨的控
8、件加载动画Animationlltils所有动画都有的属性fillAfter动画