我還需要在添加沒有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開始動畫。