2016-05-18 11 views
0

Dies ist eine Folge zu Animate ImageView from alpha 0 to 1.So animieren Sie ein ImageButton in die Unsichtbarkeit

Ich habe ein ImageButton, das ich in Ansicht animieren möchte, wenn Benutzer X ausführt und dann außerhalb der Ansicht animiert, wenn Benutzer Y ausführt. Das Animieren von in Ansicht funktioniert einwandfrei. Aber die Animation außerhalb der Sicht funktioniert irgendwie nicht. Tatsächlich funktioniert es, in dem die Animation passiert. Aber nachdem der Button ausgeblendet wird, erscheint er wieder als VISIBLE. Also verwende ich diesen Code

AlphaAnimation animation1 = new AlphaAnimation(0.9f, 0.0f); 
     animation1.setDuration(5000); 
     animation1.setStartOffset(1000); 
     animation1.setFillAfter(true); 
     animation1.setAnimationListener(new Animation.AnimationListener() { 
      @Override 
      public void onAnimationStart(Animation animation) { 
       GVLog.d(TAG,"MAKE INVISIBLE onAnimationStart: %s",tokenBtn.getVisibility()); 
      } 

      @Override 
      public void onAnimationRepeat(Animation animation) { 
       GVLog.d(TAG,"MAKE INVISIBLE onAnimationRepeat: %s",tokenBtn.getVisibility()); 
      } 

      @Override 
      public void onAnimationEnd(Animation animation) { 
       tokenBtn.setVisibility(View.INVISIBLE); 
       GVLog.d(TAG,"MAKE INVISIBLE onAnimationEnd: %s",tokenBtn.getVisibility()); 

      } 
     }); 
     tokenBtn.startAnimation(animation1); 

aber der Aufruf, den ImageButton unsichtbar zu machen, wird nicht wirksam. Also, wie mache ich es wirksam, so dass der ImageButton unsichtbar bleibt?

+0

http://stackoverflow.com/questions/7173890/how-to-animate-setvisibility-for-an-imagebutton-on-android –

+0

Es scheint, ich hinzufügen müssen, dass das Bild in der Image ist selbst ein animierendes GIF. –

Antwort

0

Versuchen Sie so. Diese Codes funktionieren immer mit meinen Apps.

AlphaAnimation animation1 = new AlphaAnimation(1, 0); 
animation1.setDuration(1000); 

tokenBtn.startAnimation(animation1); 
tokenBtn.setVisibility(View.INVISIBLE); 
+0

Ihr Vorschlag verhält sich genauso, wie wenn ich ihn in 'onAnimationStart' stecke. Und das Problem bei diesem Ansatz ist, wenn das Bild ein GIF ist, hört es auf zu animieren, wenn es abklingt. –