在开发中属性动画是很常用的功能,下面我把属性动画的基本用法记录一下,供他人学习,也逐渐积累自己的知识。
成都创新互联公司专业提供服务器托管服务,为用户提供五星数据中心、电信、双线接入解决方案,用户可自行在线购买服务器托管服务,并享受7*24小时金牌售后服务。单个动画效果:
//创建动画对象,后面的参数依次为:动画效果的目标组件,需要改变的该组建的属性(必须有对应的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); } });
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。