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

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);
        }
    }
});

最佳答案

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

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

10-02 02:43