Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 视图动画队列_Java_Android - Fatal编程技术网

Java 视图动画队列

Java 视图动画队列,java,android,Java,Android,我在页面上有一些视图。必须在上一个动画之后设置每个动画 1) 我认为每个动画都会造成延迟,但在我看来,这个选项是不正确的 2) 对于onAnimationEnd()方法中的Listener中的每个动画,我调用下一个动画。我从xml中获取动画。在这个决定中,我注意到下一个动画不能立即工作。我有一个8-10个视图,对于每个实现监听器的人来说,它在某种程度上也不能很好地工作 只有3个视图,它占用了大量空间: mLogo.startAnimation(zoomInAnim); zoomInAni

我在页面上有一些
视图。必须在上一个动画之后设置每个动画

1) 我认为每个动画都会造成延迟,但在我看来,这个选项是不正确的

2) 对于
onAnimationEnd()
方法中的
Listener
中的每个动画,我调用下一个动画。我从
xml
中获取动画。在这个决定中,我注意到下一个动画不能立即工作。我有一个8-10个
视图
,对于每个实现
监听器的人来说,它在某种程度上也不能很好地工作

只有3个
视图
,它占用了大量空间:

mLogo.startAnimation(zoomInAnim);
    zoomInAnim.setAnimationListener(new Animation.AnimationListener() {
        @Override
        public void onAnimationStart(Animation animation) {

        }

        @Override
        public void onAnimationEnd(Animation animation) {
            mPackage.setVisibility(View.VISIBLE);
            mPackageBack.setVisibility(View.VISIBLE);
            mPackage.startAnimation(slideUpAnim);
            mPackageBack.startAnimation(slideUpAnim);
            slideUpAnim.setAnimationListener(new Animation.AnimationListener() {
                @Override
                public void onAnimationStart(Animation animation) {
                }

                @Override
                public void onAnimationEnd(Animation animation) {
                    mImage1.setVisibility(View.VISIBLE);
                    mImage1.startAnimation(slideUpBounceAnim);
                }

                @Override
                public void onAnimationRepeat(Animation animation) {
                }
            });
        }

        @Override
        public void onAnimationRepeat(Animation animation) {

        }
    });
}

问题:如何组合
视图
和动画队列,也许还有其他解决方案我不知道?

如果动画长度相同,您可以尝试以下方法:

ArrayList<View> views = new ArrayList<>(3);
int delay = 0;
for(View view : views){
    view.animatate....setStartDelay(delay);
    delay += 1000;
}
ArrayList视图=新的ArrayList(3);
int延迟=0;
用于(视图:视图){
view.Animate…设置开始延迟(延迟);
延迟+=1000;
}
没有理由不立即启动动画我编写了一个自定义数字微调器视图,它得到一个像1000的数字,使用这种方法从0到1000,例如,使用2000个动画,没有延迟。检查动画,确保它们正常,您定义并忘记的xml没有延迟和开始。如果您想确定这是您的动画和资源的问题,请使用:


默认情况下,它包含您的所有动画,只需选择几个并对其进行测试。

如果您的动画长度相同,您可以尝试以下操作:

ArrayList<View> views = new ArrayList<>(3);
int delay = 0;
for(View view : views){
    view.animatate....setStartDelay(delay);
    delay += 1000;
}
ArrayList视图=新的ArrayList(3);
int延迟=0;
用于(视图:视图){
view.Animate…设置开始延迟(延迟);
延迟+=1000;
}
没有理由不立即启动动画我编写了一个自定义数字微调器视图,它得到一个像1000的数字,使用这种方法从0到1000,例如,使用2000个动画,没有延迟。检查动画,确保它们正常,您定义并忘记的xml没有延迟和开始。如果您想确定这是您的动画和资源的问题,请使用:


默认情况下,它包含您的所有动画,只需选择几个并对其进行测试。

请参阅
android.animation.AnimatorSet
documentation请参阅
android.animation.AnimatorSet
documentation