问题机型:魅族16sPro、Android9、Flyme8.1.5.4A
问题描述:Dialog.show()时只显示半透明背景,没有显示ContentView。
解决办法:Dialog.OnShowListener监听中,发现窗口的width=0。增加判断,如果width==0,则重新设置宽高。
roomQuitConfirmDialog.setOnShowListener(new DialogInterface.OnShowListener() {@Overridepublic void onShow(DialogInterface dialog) {int width = roomQuitConfirmDialog.getWindow().getDecorView().getWidth();if (width == 0) {roomQuitConfirmDialog.getWindow().setLayout(DensityUtil.dp2px(ImmersiveRoomActivity.this, 280), ViewGroup.LayoutParams.WRAP_CONTENT);roomQuitConfirmDialog.getWindow().setGravity(Gravity.CENTER);}}});