动画效果:关于找不到匿名类 java.lang.NoClassDefFoundError: Failed resolution of: Landroid/animation/Animator$AnimatorListener$-CC;
//接到需求密码不对时,textView 左右浮动,ObjectAnimator 直接创建匿名内部类Animator.AnimatorListener,会报以下错误,程序崩溃 public void floatTextView(TextView view){ view.setVisibility(View.VISIBLE); ObjectAnimator animator = ObjectAnimator.ofFloat(view, "translationX", 0, 50, -50, 0); animator.setDuration(1000); animator.addListener(new Animator.AnimatorListener() { @Override public void onAnimationStart(Animator animation) { } @Override public void onAnimationEnd(Animator animation) { view.setVisibility(View.INVISIBLE); } @Override public void onAnimationCancel(Animator animation) { } @Override public void onAnimationRepeat(Animator animation) { } }); animator.start(); }
//同事给出的解决方法:换一个方式、新建一个类继承Animator.AnimatorListener
public class AnimatorLister implements Animator.AnimatorListener { public void setTextView(TextView textView) { this.textView = textView; } private TextView textView; @Override public void onAnimationStart(Animator animation, boolean isReverse) { } @Override public void onAnimationEnd(Animator animation, boolean isReverse) { textView.setVisibility(View.INVISIBLE); } @Override public void onAnimationStart(Animator animation) { } @Override public void onAnimationEnd(Animator animation) { } @Override public void onAnimationCancel(Animator animation) { } @Override public void onAnimationRepeat(Animator animation) { } }
public void floatTextView(TextView view){ view.setVisibility(View.VISIBLE); ObjectAnimator animator = ObjectAnimator.ofFloat(view, "translationX", 0, 50, -50, 0); animator.setDuration(1000); AnimatorLister animatorLister=new AnimatorLister(); animatorLister.setTextView(view); animator.addListener(animatorLister); animator.start(); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!