Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.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_Animation_Execute - Fatal编程技术网

Java 动画完成后执行语句

Java 动画完成后执行语句,java,android,animation,execute,Java,Android,Animation,Execute,我想做的是让ImageView在按下按钮时抖动,当动画结束时,ImageView中的图像消失 我希望先执行此语句: ObjectAnimator .ofFloat(img, "translationX", 0, 25, -25, 25, -25, 15, -15, 6, -6, 0) .setDuration(300) .start(); 动画结束后,应执行以下语句: img

我想做的是让ImageView在按下按钮时抖动,当动画结束时,ImageView中的图像消失

我希望先执行此语句:

ObjectAnimator
                .ofFloat(img, "translationX", 0, 25, -25, 25, -25, 15, -15,     6, -6, 0)
                .setDuration(300)
                .start();
动画结束后,应执行以下语句:

        img.setImageResource(android.R.color.transparent);
我把它们一个接一个地放在一起,这样动画就不会结束,图片也就不见了

使用以下代码

ObjectAnimator.ofFloat(img, "translationX", 0, 25, -25, 25, -25, 15, -15,     6, -6, 0).addListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationEnd(Animator animation) {
                super.onAnimationEnd(animation);
                Log.e("Animation-Completed:", "onAnimationEnd");
                img.setImageResource(android.R.color.transparent);
            }
        }).setDuration(300).start();
编辑:要添加持续时间:

ObjectAnimator anim = ObjectAnimator.ofFloat(img, "translationX", 0, 25, -25, 25, -25, 15, -15,     6, -6, 0);
anim.setDuration(300);                  // Duration in milliseconds
anim.addListener(new AnimatorListenerAdapter() {
                @Override
                public void onAnimationEnd(Animator animation) {
                    super.onAnimationEnd(animation);
                    Log.e("Animation-Completed:", "onAnimationEnd");
                    img.setImageResource(android.R.color.transparent);
                }
            }); 
anim.start();
使用以下代码:

ObjectAnimator
            .ofFloat(img, "translationX", 0, 25, -25, 25, -25, 15, -15,     6, -6, 0)
            .setDuration(300)
            .start()
            .addListener(new Animator.AnimatorListener() {
                @Override
                public void onAnimationStart(Animator animator) {

                }

                @Override
                public void onAnimationEnd(Animator animator) {
                   img.setImageResource(android.R.color.transparent);
                }

                @Override
                public void onAnimationCancel(Animator animator) {

                }

                @Override
                public void onAnimationRepeat(Animator animator) {

                }
            });

我得到一个错误变量“img”是从内部类中访问的,需要声明为final。@Eddie只需遵循错误并在img变量声明之前添加final关键字,如下所示,final ImageView img=ImageView findviewbydr.id.some\u id;如果它声明为final,我还可以更改它的属性吗?我确实遇到了另一个错误。找不到符号“setDuration”