我在我的应用程序中显示了一个对话框碎片,我注意到即使我将碎片的y位置设置到屏幕底部,仍然可以看到边距:
Display display = getActivity().getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
windowParams.y = size.y;
在下面的屏幕截图中,您可以看到尽管设置在屏幕底部,淡蓝色(我的对话片段)仍然显示距离屏幕底部一定距离。如何删除此保证金?
答案 0 :(得分:4)
解决方案是添加以下行:
setStyle(DialogFragment.STYLE_NO_FRAME, 0);
答案 1 :(得分:0)
为避免底部,顶部,左侧和右侧的额外边距使用下面的代码行。
//Dialog fragment will be shown at the bottom of screen
//if you want to show on entire screen just comment it
getDialog().getWindow().setGravity(Gravity.BOTTOM);
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
Window window = getDialog().getWindow();
lp.copyFrom(window.getAttributes());
//This makes the dialog take up the full width
lp.width = WindowManager.LayoutParams.MATCH_PARENT;
//For full height set it to MATCH_PARENT else WRAP_CONTENT
lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
window.setAttributes(lp);