首页 > 代码库 > 自定义控件(2.2):SurfaceView和SurfaceHolder

自定义控件(2.2):SurfaceView和SurfaceHolder

本例需求及流程:
Activity加载自定义的SurfaceView-> SurfaceView 构造器中启动线程A,循环改变SurfaceView的x,y坐标,当x,y坐标到某点时设渐显标志位picAlphaFlag为true -> Surface创建时即surfaceCreated中,启动线程B,循环根据SurfaceView的x,y(被线程A循环改变)实时绘制图的位置,并且picAlphaFlag为true时,渐显另一张图。

本例可优化点(个人意见):
1.线程A和线程B可合并;

本例启示:
1.SurfaceView通常都用自定义的;
2.SurfaceView通常都配1个以上子线程,执行耗时操作如绘制等;
3.SurfaceView通常都实现了SurfaceHolder.Callback接口,主要用来管理生命周期surfaceCreated和surfaceDestroyed;
 
示例Demo
 
 

自定义控件(2.2):SurfaceView和SurfaceHolder