问题机型:魅族16sPro、Android9、Flyme8.1.5.4A
问题描述:Dialog.show()时只显示半透明背景,没有显示ContentView。
解决办法:Dialog.OnShowListener监听中,发现窗口的width=0。增加判断,如果width==0,则重新设置宽高。
roomQuitConfirmDialog.setOnShowListener(new DialogInterface.OnShowListener() {
@Override
public 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);
}
}
});