0
我有一個簡單的相機應用程序,我在alertdialog中使用了一個surfaceview來顯示取景器。我注意到如果我通過更改alertdialog的大小手動調整取景器的大小,那麼surfaceChanged()回調不會在方向更改時觸發。如果我評論setlayout行,它會觸發很好。我是否缺少標誌或配置設置?當對話框調整大小時,surfaceChanged回調不會觸發
感謝任何輸入。
代碼:
mBuilder = new AlertDialog.Builder(mContext);
mBuilder.setTitle("test dialog");
mAlertDialog = mBuilder.create();
mFrameLayout = new FrameLayout(mContext);
mSurfaceView = new SurfaceView(mContext);
mFrameLayout.addView(mSurfaceView, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
mAlertDialog.setView(mFrameLayout, 0, 0, 0, 0);
mSurfaceView.getHolder().addCallback(mSHcallCallback);
mAlertDialog.show();
mAlertDialog.getWindow().setLayout(200, 600);
這是活動類外定義