当SurfaceHolder对象的类型设置为SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS时就只能拍照不能绘制了。
为了既能通过SurfaceView拍照又能在上面绘制图形,可以通过双SurfaceView层叠的变通方式如下:
用于绘制的SurfaceView,使其透明并位于顶部:
用于在SurfaceView(使其位于绘制SurfaceView底部)上拍照及预览的Activity:
主界面main.xml:
在res下新建文件夹drawable,并在其下面新建面板背景main_right_bg.xml:
AndroidManifest.xml:
开发环境:XP3+Eclipse+Android2.2+JDK6.0
测试环境:Android2.2,5寸屏,分辨率640X480
源代码:http://download.csdn.net/detail/xinzheng_wang/4409755