Android 自定义比例动画

Android 自定义比例动画,android,Android,我有一个800x480的图像,我想有一个缩放动画,使图像缩放到960x576。我知道Android有一个ScaleAnimation类来实现这一点,但我也希望用户能够在动画缩放时暂停动画,并从暂停的地方继续 我该怎么做 我确实编写了一些自定义刷新循环,但它不像ScaleAnimation类那样超级平滑。自定义刷新循环仅计算每25毫秒所需的宽度和高度变化,然后将新宽度设置为矩形。然后循环调用失效 //Reset the image size x = (x + dx); y = (y + dy);

我有一个800x480的图像,我想有一个缩放动画,使图像缩放到960x576。我知道Android有一个
ScaleAnimation
类来实现这一点,但我也希望用户能够在动画缩放时暂停动画,并从暂停的地方继续

我该怎么做

我确实编写了一些自定义刷新循环,但它不像
ScaleAnimation
类那样超级平滑。自定义刷新循环仅计算每25毫秒所需的宽度和高度变化,然后将新宽度设置为
矩形。然后循环调用失效

//Reset the image size
x = (x + dx);
y = (y + dy);
imageWidth =  (imageWidth + dWidth);
imageHeight =  (imageHeight + dHeight);
然后我在画布上画画

outputRect.set((int)(-x), (int)(-y), (int)imageWidth, (int)imageHeight);
canvas.drawBitmap(bitmap, srcRect, outputRect, paint);

我如何才能像Android操作系统一样顺利地完成这项工作,或者更高效地完成这项工作?

我建议使用Androids ScaleAnimation。您可以使用anim.cancel()创建动画,如果再次启动,动画可能会在取消的位置恢复。文档建议在重用动画之前调用reset(),这样可能会起作用

如果不起作用,则可以在暂停时保存动画状态,并在用户恢复动画时从该点开始创建新动画