2017-10-02 15 views
0

처음에는 보이지 않는 뷰를 가지고 있습니다. 가시성을 변경할 때 페이드 효과를 원합니다.이 코드를 작성했지만 레이아웃이 전혀 나타나지 않습니다. OnAnimationStart 나 OnAnimationEnd가 실행되지 않습니다.안드로이드 페이딩 레이아웃

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); 

답변

0

이 코드를 사용 loadAnimation에서와

Animation animation = AnimationUtils.loadAnimation(ctx,android.R.anim.fade_out); 
    target.startAnimation(animation); 
를보십시오) 여기

을 실행됩니다 내 코드입니다