@@ -537,18 +537,41 @@ private void initOk() {
537537 pathMeasure = new PathMeasure (path , true );
538538 }
539539
540-
541540 private boolean isCanClick = true ;//是否可以被点击
542541
542+
543+ private boolean isAnimRuning = false ;
544+
545+ private int clickIndex = 1 ;//用于判断重复点击的时间
546+
547+ public boolean isCanRest () {
548+ if (clickIndex % 2 == 0 ) {
549+ return true ;
550+ } else {
551+ return false ;
552+ }
553+ }
554+
555+ public boolean isAnimRuning () {
556+ return isAnimRuning ;
557+ }
558+
559+ public boolean isCanClick () {
560+ return isCanClick ;
561+ }
562+
563+
543564 /**
544565 * 点击启动动画,
545566 * (这里是点击刚开始登录)
546567 */
547568 public void start () {
548569 if (isCanClick ) {
570+ clickIndex ++;
549571 paint .setColor (normal_color );
550572 animatorSet .start ();
551573 isCanClick = false ;
574+ isAnimRuning = true ;
552575 }
553576 }
554577
@@ -558,6 +581,27 @@ public void netFaile() {
558581 buttonString = errorString ;
559582 paint .setColor (error_color );
560583 animatorNetfail .start ();
584+ animatorNetfail .addListener (new Animator .AnimatorListener () {
585+ @ Override
586+ public void onAnimationStart (Animator animation ) {
587+
588+ }
589+
590+ @ Override
591+ public void onAnimationEnd (Animator animation ) {
592+ isAnimRuning = false ;
593+ }
594+
595+ @ Override
596+ public void onAnimationCancel (Animator animation ) {
597+
598+ }
599+
600+ @ Override
601+ public void onAnimationRepeat (Animator animation ) {
602+
603+ }
604+ });
561605 }
562606
563607 //加载失败运行(文案自定义)
@@ -566,6 +610,27 @@ public void netFaile(String message) {
566610 buttonString = errorString ;
567611 paint .setColor (error_color );
568612 animatorNetfail .start ();
613+ animatorNetfail .addListener (new Animator .AnimatorListener () {
614+ @ Override
615+ public void onAnimationStart (Animator animation ) {
616+
617+ }
618+
619+ @ Override
620+ public void onAnimationEnd (Animator animation ) {
621+ isAnimRuning = false ;
622+ }
623+
624+ @ Override
625+ public void onAnimationCancel (Animator animation ) {
626+
627+ }
628+
629+ @ Override
630+ public void onAnimationRepeat (Animator animation ) {
631+
632+ }
633+ });
569634 }
570635
571636
@@ -581,6 +646,12 @@ public void reset() {
581646 int alpha = 255 ;
582647 textPaint .setAlpha (alpha );
583648 invalidate ();
649+
650+ animator_draw_ok .cancel ();
651+ animatorSet .cancel ();
652+ animatorNetfail .cancel ();
653+ clickIndex ++;
654+
584655 }
585656
586657
@@ -633,6 +704,8 @@ public void onAnimationRepeat(Animator animation) {
633704 * 绘制打勾动画
634705 */
635706 public void loginSuccess (final AnimationOKListener animationOKListener ) {
707+ //这个思路是对的,然后就是看clickindex是否一致
708+ animator_draw_ok .cancel ();
636709 animator_draw_ok .start ();
637710 animator_draw_ok .addListener (new Animator .AnimatorListener () {
638711 @ Override
@@ -643,6 +716,7 @@ public void onAnimationStart(Animator animation) {
643716 @ Override
644717 public void onAnimationEnd (Animator animation ) {
645718 animationOKListener .animationOKFinish ();
719+ isAnimRuning = false ;
646720 }
647721
648722 @ Override
@@ -655,6 +729,7 @@ public void onAnimationRepeat(Animator animation) {
655729
656730 }
657731 });
732+
658733 }
659734
660735
0 commit comments