我现在要在相机预览上做半透明按钮。效果如同Android的系统照相机中“白平衡”,“闪光灯”等图标的效果。我开始是在SurfaceHolder.Callback的surfaceChanged里面添加事件,后又尝试在Camera.PreviewCallback中的onPreviewFrame事件中添加。LockCanvas的时候出错,原因是这个SurfaceView是SURFACE_TYPE_PUSH_BUFFERS类型的。后又尝试使用透明层的方法。
   __________
  /         /
 / Layer A /_
/_________/ /
 / Layer B /
/_________/如果LayerB不是相机预览View的话,可以实现透明化。
我在LayerB上绘制一张静止图片,在LayerA上绘制一小张图标(R.drawable.ic_launcher)。
可以看到结果是静止图片上局部被那小图标覆盖。没有问题。但是,如果依法炮制,将LayerB改为相机预览View的话,结果却是没有相机预览画面,只有黑色的背景,上面显示着那张小图标。网上查了很久,但是一直没有找到解决方法。望大虾执教!另:由于需要自定义许多控制,不能使用系统照相机。