如何在调用图像后返回图像?

时间:2014-06-06 18:15:12

标签: java android image animation

到目前为止,这是我的代码。因此,当我单击图像时,它会按预期移动。凉。但是当我再次单击图像时,它不会移回原始位置。有人可以帮忙吗?仅供参考,变量“依赖”属于全球范围。谢谢!

depends = false;

image.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        if (depends){
            TranslateAnimation noob =
                new TranslateAnimation(0, 0, 0, +90);

            noob.setDuration(1000);
            noob.setFillAfter(true);
            image.startAnimation(noob);
        } else{
            TranslateAnimation translateAnimation =
                new TranslateAnimation(0, 0, 0, -90);
            depends = true;
            translateAnimation.setDuration(1000);
            translateAnimation.setFillAfter(true);
            image.startAnimation(translateAnimation);
        }
    }
});

2 个答案:

答案 0 :(得分:1)

这是因为旧的Animation API只会转换View的Drawable,而不会转换View本身(及其触摸区域)。如果您单击原始图像“是”的位置,您应该看到它向后移动

解决方案:使用新的Animator API herenineoldandrois获取后兼容性

答案 1 :(得分:0)

在黑暗中拍摄。如果这没有帮助,我会删除我的答案。

            if (depends){
                TranslateAnimation noob = new TranslateAnimation(0, 0, 0, +90);



                noob.setDuration(1000);

                noob.setFillAfter(true);

                image.startAnimation(noob);

                depends = false;  <-- ADD THIS
            } else{
                TranslateAnimation translateAnimation = new TranslateAnimation(0, 0, 0, -90);

                   depends = true;

                translateAnimation.setDuration(1000);

                translateAnimation.setFillAfter(true);

                image.startAnimation(translateAnimation);
            }