我想动画添加视图作为“向下滑动”并将视图移除为ViewGroup
中的“向上滑动”。所以我使用了LayoutTransition.class
,但minSdk 8
不支持LayoutTransition layoutTransition = new LayoutTransition();
AnimatorSet set = (AnimatorSet) AnimatorInflater.loadAnimator(getApplicationContext(),
R.anim.slide);
layoutTransition.setAnimator(LayoutTransition.APPEARING, set);
。所以我发现了这个NineOldAndroids,并且想知道我是否能够实现我想要的东西。
像这样,
{{1}}
答案 0 :(得分:3)
不幸的是,NineOldAndroids不支持LayoutTransitions,因为它无法在Gingerbread中实现。
答案 1 :(得分: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开始动画。