如何使ScaleAnimation工作?

时间:2011-11-22 15:56:53

标签: android google-maps

封闭。 我自己使用Timer制作并在从书中学到更多信息后覆盖了draw方法。

2 个答案:

答案 0 :(得分:1)

请勿致电animation.startAnimation(animation)。只需致电startAnimation(animation);this.startAnimation(animation);

答案 1 :(得分:0)

Animation个对象用于为View个对象设置动画。如果你自己在view.onDraw()绘制圆圈,那么你应该自己缩放圆圈。

更新:动画对象用于从应用程序的主线程中为Views设置动画。主线程与UI线程不同,Animation对象提供了一种很好的方式告诉UI线程从主线程中绘制动画。但是,从UI线程调用onDraw因此使用Animation对象没有意义,因为执行的代码已经在UI线程的范围内。

更新2:以下是执行ScaleAnimation

的正确方法的示例
float startScaleX = 1.0f;
float startScaleY = 1.0f;
float endScaleX = 2.0f;
float endScaleY = 2.0f;
Animation a = new ScaleAnimation(startScaleX, endScaleX, startScaleY, endScaleY);
a.setDuration(1000);

View view = findViewById(R.id.my_view);

view.startAnimation(a);

请注意,在我创建了animation对象后,我调用了view.startAnimation(a)。在没有将动画附加到视图的情况下运行动画没有意义。