最近项目,需要用到 dialog 使用dialog 的时候却发现dialog全屏显示了,
才发现我这边的宽高参数设置成了
dialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);
最后改成
Window dialogWindow = dialog.getWindow();
dialogWindow.setBackgroundDrawable(mContext.getResources().getDrawable(android.R.color.transparent));
WindowManager.LayoutParams lp = dialogWindow.getAttributes();
dialogWindow.getDecorView().setPadding(30, 0, 30, 0); //消除边距
lp.width = WindowManager.LayoutParams.MATCH_PARENT;
lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
dialogWindow.setAttributes(lp);
dialog.setContentView(view, lp);
才解决问题,改完之后我又发现因为 宽度设置为了MATCH_PARENT 所以dialog 的宽度已经占满了屏幕宽度,于是给左右两边加了个边距:
dialogWindow.getDecorView().setPadding(30, 0, 30, 0); //消除边距
但是这个时候我又发现dialog 的整个背景都是黑色的,就再加了设置其背景颜色的方法,把背景设置成透明颜色,解决问题
dialogWindow.setBackgroundDrawable(mContext.getResources().getDraw