2

我想在ViewGroup. 所以我使用LayoutTransition.class但它不支持minSdk 8。所以我找到了这个NineOldAndroids,并且想知道我是否可以使用它来实现我想要的。

像这样的东西,

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

2 回答 2

3

不幸的是 NineOldAndroids 不支持 LayoutTransitions,因为它无法在 Gingerbread 中实现。

于 2013-04-17T23:45:26.513 回答
0

添加没有 LayoutTransition 的视图时,我还需要设置动画。我不知道什么时候开始动画,所以我使用 LayoutAnimationController 来做:

     // 一个假的 AlphaAnimation 让我们知道如何开始添加视图的动画
      动画动画 = new AlphaAnimation(0, 0);
        动画.setDuration(1);
        动画.setFillAfter(true);
        animation.setAnimationListener(new Animation.AnimationListener() {
            @覆盖
            公共无效onAnimationStart(动画动画){ 
}

@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启动动画。

于 2015-09-05T07:43:36.947 回答