2013-08-27 33 views
0

我有一个线条图,我希望实现不会每次都重新绘制网格。我尝试了以下方法,但网格仅在第一次可见时,它会关闭saveLayer不起作用,或者我只是以错误的方式进行。如何储存背景?

protected void onDraw(Canvas canvas) { 
     if (mRedrawGrid) { 
      drawGrid(canvas); 
      mGridLayer = canvas.saveLayer(0, 0, getWidth(), getHeight(), mPaint, Canvas.MATRIX_SAVE_FLAG); 
     } else 
      canvas.restoreToCount(mGridLayer); 
     drawLineChart(canvas); 
    } 

回答

1

愿这可以帮助您:

好友把你的CanvasLinearLayout,然后保存整个LinearLayout's背景到像一个位图:

ll.buildDrawingCache(); 
Bitmap bt = ll.getDrawingCache();