我能否将多个平移动画添加到一个AnimationSet中?

3
我希望将多个翻译动画添加到一个AnimationSet中。我目前是通过在AnimationSet上设置监听器,在onAnimationEnd()方法上执行新的AnimationSet来实现这一点(见下文)。这是很多代码,想知道是否可以在一个AnimationSet中完成。有什么想法吗?
view_2_anim_c.setAnimationListener(new AnimationListener() {

        public void onAnimationStart(Animation animation) {
            // TODO Auto-generated method stub

        }

        public void onAnimationRepeat(Animation animation) {
            // TODO Auto-generated method stub

        }

        public void onAnimationEnd(Animation animation) {
            // TODO Auto-generated method stub
            apa2.startAnimation(view_2_anim_d);
            //viewBAnimationD(apa2, 0);
        }
    });
1个回答

6

AnimationSet可以包含任意数量的动画。如果您希望第二个翻译动画在第一个动画之后开始,可以将第二个动画的startoffset设置为与第一个动画的持续时间相同。这种方法的局限性是您只能对单个视图执行动画。如果您想要一个视图进行平移动画,并在完成后执行另一个不同的视图,则应使用AnimationListener来运行新动画。


谢谢!如果我有多个动画同时进行,例如旋转、透明度和旋转,我是否也可以在一个带有startoffset的AnimationSet中完成它们? - user182192
是的,那将是最简单的方法。你也可以让它们同时运行,这完全取决于你想要的效果。 - Bobbake4
在一个集合中,我的移动次数有限制吗? - user182192
谢谢!我按你说的做了,但出现了不同的问题。请看一下这个链接:http://stackoverflow.com/questions/10327884/issue-running-multiple-animations-in-an-animationset - user182192

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接