接下来进行自绘制的实例操作阶段,下面会列出每次实例代码的基本框架,大家学习自绘制可以直接复制粘贴,然后专心绘制即可。
require "import"import "android.os.*"import "android.app.*"import "android.view.*"import "android.widget.*"import "android.graphics.*"local layout ={LinearLayout,--线性布局orientation='vertical',--方向layout_width='fill',--宽度layout_height='fill',--高度{SurfaceView;layout_width='fill',--宽度layout_height='fill',--高度id="surface",};};activity.setContentView(loadlayout(layout))--suface是你的SurfaceView的idlocal holder=surface.getHolder()holder.addCallback(SurfaceHolder.Callback{--视图改变surfaceChanged=function(holder,format,width,height)end,--视图创建,一般绘制就在这surfaceCreated=function(holder)--拿到画布canvaslocal canvas=holder.lockCanvas()if canvas~=nil then--这里绘制canvas.drawColor(0xffffffff) --绘制背景为白色--定义画笔Paintlocal paint=Paint()paint.setColor(0xff000000) --画笔颜色paint.setStyle(Paint.Style.STROKE) --画笔样式:描边paint.setStrokeWidth(10) --画笔宽度paint.setStrokeCap(Paint.Cap.ROUND) --画笔笔头:圆滑--定义绘制变量local cx=canvas.getWidth()/2 --中心x点local cy=canvas.getHeight()/2 --中心y点--这里进行详细绘制操作--例如:绘制点canvas.drawPoint(cx,cy,paint)end--提交画布canvasholder.unlockCanvasAndPost(canvas)end,--视图销毁,主要是动态绘制时的销毁线程surfaceDestroyed=function(holder)end})
上述代码可直接运行,效果如下:

