接下来进行自绘制的实例操作阶段,下面会列出每次实例代码的基本框架,大家学习自绘制可以直接复制粘贴,然后专心绘制即可。
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的id
local holder=surface.getHolder()
holder.addCallback(SurfaceHolder.Callback{
--视图改变
surfaceChanged=function(holder,format,width,height)
end,
--视图创建,一般绘制就在这
surfaceCreated=function(holder)
--拿到画布canvas
local canvas=holder.lockCanvas()
if canvas~=nil then
--这里绘制
canvas.drawColor(0xffffffff) --绘制背景为白色
--定义画笔Paint
local 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
--提交画布canvas
holder.unlockCanvasAndPost(canvas)
end,
--视图销毁,主要是动态绘制时的销毁线程
surfaceDestroyed=function(holder)
end
})
上述代码可直接运行,效果如下: