重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在开发中属性动画是很常用的功能,下面我把属性动画的基本用法记录一下,供他人学习,也逐渐积累自己的知识。
网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、成都小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了维西免费建站欢迎大家使用!
单个动画效果:
//创建动画对象,后面的参数依次为:动画效果的目标组件,需要改变的该组建的属性(必须有对应的get和set方法就可以),后面三个参数写变化过程对应数值。 ObjectAnimator animator= ObjectAnimator.ofFloat(textView, "TextSize", 15, 50, 15); //动画过程所用时间,会按这个世界自动平滑执行 animator.setDuration(6000); //动画开始 animator.start();
组合动画效果:
//after(Animator anim) 将现有动画插入到传入的动画之后执行 //after(long delay) 将现有动画延迟指定毫秒后执行 //before(Animator anim) 将现有动画插入到传入的动画之前执行 //with(Animator anim) 将现有动画和传入的动画同时执行 //创建动画对象,后面的参数依次为:动画效果的目标组件,需要改变的该组建的属性(必须有对应的get和set方法就可以),后面三个参数写变化过程对应数值。 ObjectAnimator animator1= ObjectAnimator.ofFloat(textView, "TextSize", 15, 50, 15); //这里每次先获取目标View的角度 float init = textView.getRotation(); //旋转,道理同上 ObjectAnimator animator2 = ObjectAnimator.ofFloat(textView,"rotation", init,init+180f); //平移,道理同上 ObjectAnimator animator3 = ObjectAnimator.ofFloat(textView,"TranslationX",curTranslationX,-500f,curTranslationX); //设置动画组合的类 AnimatorSet animatorSet=new AnimatorSet(); //设置3个动画如何组合搭配 animatorSet.play(animator2).with(animator1).after(animator3); //动画过程所用时间,会按这个世界自动平滑执行 animatorSet.setDuration(6000); //动画开始 animatorSet.start();
为动画增加监听:
//这里是为动画添加的监听,具体实现哪个方法根据需求选择即可,例如:动画执行完毕、动画执行开始、动画执行取消、动画执行重复动作等。 animatorSet.addListener(new AnimatorListenerAdapter() { //这里根据需要实现具体的想要执行的内容 @Override public void onAnimationEnd(Animator animation) { super.onAnimationEnd(animation); } });