跨类共享画布?

时间:2011-01-27 19:42:39

标签: android graphics canvas ondraw

我正在为Android编写一个应用程序,我有一个扩展View的类设置。在那个班级里面,我正在覆盖onDraw。

我有另一个课,我正在做很多处理。我想知道是否有一种方法可以在第二类中使用onDraw方法呢?第二课没有任何扩展。

1 个答案:

答案 0 :(得分:0)

您可以从第一个实例化第二个类,然后将您收到的Canvas作为参数传递给第二个女巫需要它的方法。

类似的东西。

public void onDraw(Canvas canvas){
  super.onDraw(canvas);
  MyDrawer drawer = new MyDrawer(); //The 2nd class
  canvas.store(); //Use it to store the actual matrix and any further change you can do in the paint method will not take effect over the original matrix
  drawer.drawOn(canvas);
  canvas.restore();//Return the original matrix, any new paint will use the original matrix
  }