我暂时无法提供代码我会在最近的将来更新问题,但我会解释一下情况,你可以先告诉我要检查什么。
我的Gallery
有一组ImageViews
。
选择ImageView
时,会投出view.startAnimation(grow);
。一切都很完美。
然后我点击(onTouchEvent
在未选择的视图上启动另一个动画:view.startAnimation(decrease);
)
第一个元素上的一切正常。
但是当我选择下一个imageview时,增长动画效果也很好,但减少动画在两个imageView上都有效。因此,似乎startAnimation方法在之前选择的所有imageView上运行动画。
我没有运气在stackoverflow上找到相同的问题。如果你给我一些想法,我将非常感激。
答案 0 :(得分:0)
它可能对某人有所帮助。 最后我找到了解决方案。
我有两种方法:
animationShow(View view) {
View.startAnimation(animationShow);
}
和
animationHide(View view) {
View.startAnimation(animationHide);
}
我还有2个视图可供使用:当前选择的视图(selectedView
)和之前选择的视图(prevView
),所以我在prevView上隐藏动画并在selectedView上显示它。
为避免图库隐藏动画问题,我更改了animationShow()
方法:
animationShow(View view) {
View.startAnimation(animationShow);
if (prevView != null) {
prevView.cancelAnimation();
}
}
当选择新项目时(隐藏旧项目)我只取消prevView上的所有动画。它帮助了我。希望它会帮助别人。