Android中提供了View进行绘图处理,View可以满足大部分的绘图需求,但是有时候,View却显得力不从心,所以Android提供了SurfaceView给Android开发者,以满足更多的绘图需求。下面就让我们一起来了解一下SurfaceView

定义你的SurfaceView

首先你需要定义一个你的“画板”

  1. {
  2. LinearLayout,--线性布局
  3. orientation='vertical',--方向
  4. layout_width='fill',--宽度
  5. layout_height='fill',--高度
  6. background='#FFFFFF',--背景颜色或图片路径
  7. {
  8. SurfaceView;
  9. layout_width='fill',--宽度
  10. layout_height='fill',--高度
  11. id="surface",
  12. };
  13. };

然后定义SurfaceView的方法

  1. --suface是你的SurfaceViewid
  2. local holder=surface.getHolder()
  3. holder.addCallback(SurfaceHolder.Callback{
  4. --视图改变
  5. surfaceChanged=function(holder,format,width,height)
  6. end,
  7. --视图创建,一般绘制就在这
  8. surfaceCreated=function(holder)
  9. --拿到画布canvas
  10. local canvas=holder.lockCanvas()
  11. if canvas~=nil then
  12. --这里绘制
  13. canvas.drawColor(0xffffffff)
  14. end
  15. --提交画布canvas
  16. holder.unlockCanvasAndPost(canvas)
  17. end,
  18. --视图销毁,主要是动态绘制时的销毁线程
  19. surfaceDestroyed=function(holder)
  20. end
  21. })

这些就是自绘制的基本框架,然后才可以继续后面的操作