我想为相机预览创建隐藏的 SurfaceView。我尝试了在回答另一个问题时推荐的方法:
WindowManager wm = (WindowManager) mCtx.getSystemService(Context.WINDOW_SERVICE);
params = new WindowManager.LayoutParams(WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
PixelFormat.TRANSLUCENT);
wm.addView(surfaceview, params);
surfaceview.setZOrderOnTop(true);
mHolder.setFormat(PixelFormat.TRANSPARENT);
但它不是隐形的,实际上它占据了整个屏幕。我尝试设置 alpha 或调整它的大小,但它不起作用。有没有办法让它隐藏或至少将其调整为 1x1 大小?
编辑:
我还要补充一点,在我的情况下,简单地将 1x1SurfaceView
放在活动布局中是行不通的,因为我使用多个布局,并且我相信Views
在布局更改时会被破坏......