很多应用程序,打开后展示欢迎界面 约0.5秒,然后跳转到主界面,均是利用延迟实现的。http://blog.csdn.net/yanzi1225627/article/details/7934710这里介绍了在摄像头预览的同时,背景画一个矩形框或者坐标系,原来的方法是点击预览按钮时画的。现在想一打开应用程序就自动预览,同时画出十字标示。即原先由按钮监听来实现预览,改为在surfaceCreated函数里就进行预览。在MainActivity里定义一个SurfaceCallback类。如下所示:
private final class SurfaceCallback implements Callback{
public void surfaceCreated(SurfaceHolder holder) {
try{
camera = Camera.open();
Camera.Parameters parameters = camera.getParameters();
parameters.setPreviewSize(960, 540);
parameters.setPreviewFrameRate(5);
parameters.setPictureSize(1280, 960);
parameters.setJpegQuality(80);
camera.setParameters(parameters);
camera.setPreviewDisplay(holder);
camera.startPreview();//
}catch (Exception e) {
e.printStackTrace();
}
new Handler().postDelayed(new Runnable(){
public void run() {
// TODO Auto-generated method stub
/*画十字*/
mDraw.setVisibility(View.VISIBLE);
mDraw.drawLine();
}
}, 2000);
}
public void surfaceChanged(SurfaceHolder holder, int format, int width,int height) {
}
public void surfaceDestroyed(SurfaceHolder holder) {
if(camera!=null){
camera.release();
camera = null;
}
}
}
画十字的函数很简单只有两句
mDraw.setVisibility(View.VISIBLE);
mDraw.drawLine();
但这两句话放在public void surfaceCreated(SurfaceHolder holder){ 。。。}这个函数里的camera.startPreview()之后发现不中,原因是在底层surfaceview预览画面未正常前貌似顶层的不能绘制,难道一个线程里 不能同时绘制??? 只能说原因不明,就只能用延迟了。
new Handler().postDelayed(new Runnable(){
public void run() {
// TODO Auto-generated method stub
/*画十字*/
mDraw.setVisibility(View.VISIBLE);
mDraw.drawLine();
}
}, 2000);
里面的run()函数是延迟时间到了之后,要干的事情。
如果是实现一个开机欢迎界面,run()函数里面一般可以这样写:
Intent intent = new Intent(BeginActivity.this, MainActivity.class);
BeginActivity.this.startActivity(intent);
BeginActivity.finish();
感谢Joim、高高兄弟的指点。Joim的代码写的就是牛逼啊!http://blog.csdn.net/qinde025/article/details/6828723这里对android任务延迟做了归纳,不错。 android学习 欢迎加入群:248217350
分享到:
相关推荐
双SurfaceView实现手机摄像头预览、监听每一帧做处理绘制浮层效果(Demo画了一个矩形上去)
android 程序 输入坐标保存后 可根据坐标在画布上 画出矩形.. Eclipise 课程设计用 有背景美化
Android OpenGL ES (二) 绘制三维/空间坐标系 透明的立体图加三维向量和xyz坐标轴 源代码包,直接倒入eclips修改packadge便可用
基于canvas的鼠标绘制矩形框的demo,多个canvas对象下支持选中,平移,删除操作,代码用VUE实现的
重写pictureBox相关事件,支持在pictureBox上绘制多矩形框 ,以及选中绘制框,选中后支持边框拉伸。
android 摄像头 opengl 下绘制android 摄像头 opengl 下绘制 android 摄像头 opengl 下绘制 android 摄像头 opengl 下绘制 android 摄像头 opengl 下绘制
资源中包含了两个m文件。...minboundrect.m用于绘制运动目标的最小外接矩形框,可任意设置最小外接矩形框的角度。 本人做的是视频中运动车辆的检测,读者可自行更换检测算法以及参数调整以匹配不同的运动场景。
世界坐标系原点在视图左上角,本例子通过世界坐标转换,将坐标原点定位在视图中央,Y轴向上,X轴向右,并绘制坐标轴,基于逻辑坐标系下的绘图,可将转换关系函数取消生效,对比世界坐标系下的绘图。 重写...
基于python实现张正友法相机标定+绘制三位坐标系和立体矩形源码(含详细注释).zip基于python实现张正友法相机标定+绘制三位坐标系和立体矩形源码(含详细注释).zip基于python实现张正友法相机标定+绘制三位坐标系和...
将一组点用opencv绘制并连线,绘制相应的坐标系与刻度
利用camera类调用手机摄像头,且只拍摄SurfaceView预览界面特定区域内容(矩形取景框)(底层SurfaceView+上层绘制ImageView)
vue实现在图片中画矩形框,并得到图片中的对角坐标,测试可用版本
三个角点坐标绘制矩形的算法研究,谷川,,文章以一个实例的形式介绍了四种利用三个角点坐标绘制矩形的方法,并且比较了这几种方法的优劣,从中选择出了比较好的两种方法,
基于QT平台,鼠标绘制矩形框,并能随意拖动,键盘控制。全套代码,可以参考使用。基于QT平台,鼠标绘制矩形框,并能随意拖动,键盘控制。全套代码,可以参考使用
C#绘制坐标轴绘制坐标轴绘制坐标轴绘制坐标轴C#C#绘制坐标轴绘制坐标轴绘制坐标轴绘制坐标轴C#绘制坐标轴绘制坐标轴绘制坐标轴绘制坐标轴C#绘制坐标轴绘制坐标轴绘制坐标轴绘制坐标轴
1、three.js绘制3维坐标系; 2、绘制多个立方体; 3、立方体设置边框; 4、立方体表面绘制线条;
C# 绘制50000个矩形框 C# 绘制50000个矩形框C# 绘制50000个矩形框C# 绘制50000个矩形框C# 绘制50000个矩形框C# 绘制50000个矩形框C# 绘制50000个矩形框
C# GDI+绘制直角坐标系并自定义绘图并可通过鼠标在坐标系中绘制矩形圆形等形状
实现心电数据接收绘制app。