Android - 如何在视图动画后与视图进行交互?

时间:2012-05-09 09:26:44

标签: android android-animation

我有一个使用TranslateAnimation动画的视图:

TranslateAnimation translateAnim = new TranslateAnimation(fromX, toX, fromY, toY);
translateAnim.setDuration(SLIDING_SPEED);
translateAnim.setInterpolator(new BounceInterpolator());
translateAnim.setFillAfter(true);
mSlidingView.startAnimation(translateAnim);

动画效果很好但在完成后我无法再点击视图了。相反,我仍然可以点击它之前的位置。

我在StackOverflow上搜索了类似的问题(hereherehere)但没有提供任何解决方案。我听说ObjectAnimator解决了这个问题,但是我可以使用之前的API做些什么吗? (我不想依赖另一个第三方库,如NineOldAndroids来支持预蜂窝设备上的新动画API。哦,我试图invalidate视图,但它没有改变任何东西。

有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

嗯,我猜没有链接,但你试过了吗? (在setFillAfter之前)

translateAnim.setFillEnabled(true);

答案 1 :(得分:0)

API 11 + 中,我们可以通过 ObjectAnimator 类来实现。

API 10 - 中,当我们翻译视图时,视觉视图将被翻译,但物理位置仍然在旧位置,在完成动画后更改翻译视图的边距可以解决问题。