カメラ プレビュー用に非表示の 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);
しかし、それは目に見えないわけではなく、実際には画面全体を占めています。アルファを設定したり、サイズを変更しようとしましたが、うまくいきません。非表示にする方法、または少なくとも 1x1 サイズにサイズ変更する方法はありますか?
編集:
SurfaceView
また、アクティビティ レイアウトに 1x1 を配置するだけではうまくいかないことも付け加えておきます。これは、複数のレイアウトを使用してViews
おり、レイアウトの変更時に破棄されると考えているためです...