在开发中属性动画是很常用的功能,下面我把属性动画的基本用法记录一下,供他人学习,也逐渐积累自己的知识。
单个动画效果:
//创建动画对象,后面的参数依次为:动画效果的目标组件,需要改变的该组建的属性(必须有对应的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);
}
});
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。