Java 调用图像后如何返回图像?
这是到目前为止我的代码。因此,当我单击图像时,它会按预期移动。酷。但当我再次单击图像时,它不会移回原始位置。有人能帮忙吗?仅供参考,变量“依赖”在全局范围内。谢谢Java 调用图像后如何返回图像?,java,android,image,animation,Java,Android,Image,Animation,这是到目前为止我的代码。因此,当我单击图像时,它会按预期移动。酷。但当我再次单击图像时,它不会移回原始位置。有人能帮忙吗?仅供参考,变量“依赖”在全局范围内。谢谢 depends = false; image.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (depends){ TranslateAn
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);
}
}
});
只是黑暗中的一枪。如果这没有帮助,我将删除我的答案
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);
}
if(视情况而定){
TranslateAnimation noob=新的TranslateAnimation(0,0,0,90);
noob.setDuration(1000);
noob.setFillAfter(true);
图像。startAnimation(noob);
depends=false;这是因为旧的动画API只会转换视图的可绘制部分,而不会转换视图本身(及其触摸区域)。如果单击原始图像“所在”的位置,应该会看到它向后移动
解决方案:使用新的动画师
API,并与后台兼容未发生任何问题。感谢您的尝试!我是否至少正确地假设您的“else”块没有被击中?是的,你是。实际上是我的错,我没有告诉你我在原始范围内初始化了depends布尔变量为false。请参阅修订。我更新了我的答案。在没有更多上下文的情况下,我会说下面应该做的事情:ObjectAnimator anim=ObjectAnimator.offload(图像,“translationY”,0.f,90.f);anim.setDuration(1000);anim.start();