2011-02-01 70 views
4

我有这样的代码;如何动画在Android中使用代码绘制的画布?

AnimationSet s1 = new AnimationSet(true); 
     TranslateAnimation tr1 = new TranslateAnimation(0, 0, -100, -200); 
     tr1.setDuration(6500); 
     s1.addAnimation(tr1); 
Paint paint = new Paint(); 
    Bitmap b = Bitmap.createBitmap(90, 90, Bitmap.Config.ARGB_8888); 
    Canvas c1 = new Canvas(b); 
    c1.drawCircle(50, 100, 20, paint); 

AnimationSet s2 = new AnimationSet(true); 
     TranslateAnimation tr2 = new TranslateAnimation(0, 0, -140, -260); 
     tr2.setDuration(6500); 
     s1.addAnimation(tr2); 
    Canvas c2 = new Canvas(b); 
    c2.drawCircle(150, 140, 20, paint); 

如何在画布c1上开始动画s1和画布c2上的动画s2?如果我subsclass视图类,然后我可以调用视图类的startAnimation方法,但我怎样才能使用视图类绑定上述动画与上述动画?示例代码将非常有帮助。我无法找到一个干净的Android API,它允许我指定动画的目标。应该有一个给定一系列动画的API指定任何目标图形对象 - 在我的情况下是画布对象 - (不仅仅是内置的图形对象,例如按钮),动画序列将在其上运行上。

回答

3

您可以将Canvas添加为某个组件(如ImageView)的图像,然后为该视图添加动画。