在同一问题上发现了很多问题。
How to set OnClickListener on the ImageView after rotation animation
How to write the onclick listener for a view after animation?
我也有同样的问题,有什么建议吗?
最佳答案
你应该针对你的具体问题写一个新鲜、简洁的问题,而不是仅仅指向其他问题。与之相关的两个问题并不完全清楚。
我假设您的问题是在将动画(例如 TranslateAnimation
)应用到 View
之后,View
没有不再响应新位置的触摸事件。这是因为 View
尚未根据布局参数移动到新位置,而是应用了转换。
解决方案非常简单:在动画完成后立即将 View
移动到新位置。您可以设置 myAnimation.setFillAfter() = false
,并设置一个监听器以在动画结束时将 View
物理移动到目标位置:
myAmazingAnimation.setFillAfter() = false;
myAmazingAnimation.setAnimationListener(new Animation.AnimationListener(){
@Override
public void onAnimationEnd(Animation animation) {
// Now actually move the View using LayoutParams
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationStart(Animation animation) {
}
});
另一种变体是在应用动画之前在开始时物理移动 View
,然后然后应用使 View
开始的动画它曾经在 0,0
处结束。
关于android - 动画 View 的 OnclickListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9283226/