首先SurfaceView的使用,不能总玩主线程和UI啊 呵呵
1 首先建立主界面,设置全屏
//隐去电池等图标,输入状态栏的部分
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
//隐去title
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
2 接着,建立一个继承自
SurfaceView的类MySurfaceView, import android.view.SurfaceView;
它实现了Callback接口 import android.view.SurfaceHolder.Callback;
Runnable接口
OnGestureListener接口 import android.view.GestureDetector.OnGestureListener;
OnTouchListener接口 import android.view.View.OnTouchListener;
3 定义data member
4 定义构造器
5 定义surfaceCreated方法。在这个方法中启动线程,获取图片的大小
6 定义draw方法
try
LockCanvas
if canvas != null
刷屏
写入图片
设置画笔颜色
画一个矩形
设置字体大小,颜色
根据Vector中的内容写入text
catch
finally unlock
7 重写run方法
没100ms,执行一次run方法
8 重写onTouch方法
if(v_str != null)
removeAllElement
return GestureDetector.onTouchEvent();
9 重写相关Touch事件
OK 这样就算是做完啦。
最后测试时,出现3个错误
1 在mainactivity里的setContentView();里忘了设置 new MySurfaceView(this),还是用的R.layout = =
结果显示helloworld 哈哈
2 在SurfaceView的run()方法里忘了加draw()方法,结果,黑屏……
3 忘了更改切换图片的Flag,结果滑屏幕切换不了图片
基本上顺顺利利的搞定这段代码了,接着就是好好消化,学会应用了