2017-10-02 15 views
0

J'ai une vue initialement invisible, je veux un effet de fondu lorsque je change sa visibilité, j'ai écrit ce code, mais la mise en page n'apparaît pas du tout. OnAnimationStart ou OnAnimationEnd sont exécutés.Cependant () est exécutéAndroid fading une mise en page

Voici mon code:

new Handler().postDelayed(new Runnable() { 
     @Override 
     public void run() { 
      Log.i("run","run"); 
      Animation fadeInAnimation = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.fade_in_view); 
      layout.startAnimation(fadeInAnimation); 

      fadeInAnimation.setAnimationListener(new Animation.AnimationListener() { 

       @Override 
       public void onAnimationStart(Animation animation) { 
        Log.i("onAnimationStart","onAnimationStart"); 
        layout.setVisibility(View.GONE); 
       } 

       @Override 
       public void onAnimationRepeat(Animation animation) { 
        // TODO Auto-generated method stub 
       } 

       @Override 
       public void onAnimationEnd(Animation animation) { 
        Log.i("onAnimationEnd","onAnimationEnd"); 
        layout.setVisibility(View.VISIBLE); 
       } 
      }); 
     } 
    }, 500); 

Répondre

0

En loadAnimation utiliser ce code et essayer

Animation animation = AnimationUtils.loadAnimation(ctx,android.R.anim.fade_out); 
    target.startAnimation(animation);