Android的 - 如何与视图交互已经动画后?(Android - How to interact

2019-07-29 08:15发布

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

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

动画工作正常,但它完成后,我无法在视图中单击了。 相反,我仍然可以点击它以前的位置。

我搜索了类似的问题( 在这里 , 这里和这里在计算器上),但他们没有提供任何解决方案。 我已经听说ObjectAnimator固定这一点,但有什么我可以使用以前的API吗? (我不想依靠另一个第三方库像NineOldAndroids以支持蜂窝预设备的新的动画API)。 哦,我曾尝试无效的看法,但它不会改变任何东西。

任何的想法?

谢谢!

Answer 1:

嗯,我想有没有联系,但你试过:(setFillAfter前)

translateAnim.setFillEnabled(true);


Answer 2:

API 11+,我们可以通过ObjectAnimator类做到这一点。

API 10,当我们转换一个视图,可视化视图将被翻译,但物理位置仍然在原来的位置,改变翻译观的保证金后完成动画可以解决这个问题。



文章来源: Android - How to interact with a view after it has been animated?