旋转视图并处理重绘

时间:2016-02-07 22:06:40

标签: android android-animation

我使用RotationAnimation来旋转自定义视图对象(直接从View派生)。在动画期间重复调用视图对象onDraw(),然后调用onAnimationEnd回调。在回调中,我正在更新视图的后备数据对象以记录其新的旋转。

我看到的问题是,在调用onDraw()回调并且已经返回后,视图对象继续将其onAnimationEnd称为。这是一个问题,因为在回调中,我更新了导致视图通过旋转呈现其内容的值。由于动画仍然在变换视图,因此最终结果是,在移除旋转变换之前,它会在捕捉回正确位置之前暂时过度旋转。

因此,如果动画导致在调用onDraw()后调用动画视图onAnimationEnd,我该如何确定动画真正完成的时间这样我就可以在适当的时候更新支持对象模型?

我很感激你的帮助。

1 个答案:

答案 0 :(得分:0)

为了将来阅读此问题的任何人的利益,可靠地检测动画结束的解决方案似乎是覆盖被动画的onAnimationEnd()对象上的View

更多详情可在https://stackoverflow.com/a/5110476/67316找到。