封闭。 我自己使用Timer制作并在从书中学到更多信息后覆盖了draw方法。
答案 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)
。在没有将动画附加到视图的情况下运行动画没有意义。