2013-03-29 37 views
2

我想動畫添加視圖作爲「向下滑動」並刪除視圖爲「向上滑動」在ViewGroup。所以我用LayoutTransition.class,但不支持minSdk 8。所以我發現這NineOldAndroids,並想知道如果我可以實現我想用這個。NineOldAndroids中的LayoutTransition類..?

這樣的事情,

LayoutTransition layoutTransition = new LayoutTransition(); 
     AnimatorSet set = (AnimatorSet) AnimatorInflater.loadAnimator(getApplicationContext(), 
       R.anim.slide); 
     layoutTransition.setAnimator(LayoutTransition.APPEARING, set); 

回答

3

可惜NineOldAndroids不支持LayoutTransitions,因爲它是不可能在薑餅實現。

0

我還需要在添加沒有LayoutTransition的視圖時設置動畫。 我不知道什麼時候開始的動畫,所以我用LayoutAnimationController做 :

 
    // A fake AlphaAnimation so that we can know how to start the animation of adding view 
     Animation animation = new AlphaAnimation(0, 0); 
     animation.setDuration(1); 
     animation.setFillAfter(true); 
     animation.setAnimationListener(new Animation.AnimationListener() { 
      @Override 
      public void onAnimationStart(Animation animation) {
}

@Override public void onAnimationEnd(Animation animation) { // start the animation here startAddingViewAnimation(); } @Override public void onAnimationRepeat(Animation animation) { } }); ViewGroup viewroot = findViewById(R.id.viewroot); LayoutAnimationController layoutAnimationController = new LayoutAnimationController(animation); viewRoot.setLayoutAnimation(layoutAnimationController); viewRoot.addView(btn);

設置一個LayoutAnimationController通知我的觀點,並將完成繪製。然後我可以通過nineoldanimator開始動畫。

相關問題