到目前为止,这是我的代码。因此,当我单击图像时,它会按预期移动。凉。但是当我再次单击图像时,它不会移回原始位置。有人可以帮忙吗?仅供参考,变量“依赖”属于全球范围。谢谢!
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);
}
}
});
答案 0 :(得分:1)
这是因为旧的Animation API只会转换View的Drawable,而不会转换View本身(及其触摸区域)。如果您单击原始图像“是”的位置,您应该看到它向后移动
解决方案:使用新的Animator
API here和nineoldandrois获取后兼容性
答案 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);
}