Android中提供了View进行绘图处理,View可以满足大部分的绘图需求,但是有时候,View却显得力不从心,所以Android提供了SurfaceView
给Android开发者,以满足更多的绘图需求。下面就让我们一起来了解一下SurfaceView
。
定义你的SurfaceView
首先你需要定义一个你的“画板”
{
LinearLayout,--线性布局
orientation='vertical',--方向
layout_width='fill',--宽度
layout_height='fill',--高度
background='#FFFFFF',--背景颜色或图片路径
{
SurfaceView;
layout_width='fill',--宽度
layout_height='fill',--高度
id="surface",
};
};
然后定义SurfaceView的方法
--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)
end
--提交画布canvas
holder.unlockCanvasAndPost(canvas)
end,
--视图销毁,主要是动态绘制时的销毁线程
surfaceDestroyed=function(holder)
end
})
这些就是自绘制的基本框架,然后才可以继续后面的操作