Android摆脱了DialogFragment浮动边距

时间:2015-02-03 11:30:44

标签: java android dialogfragment

我在我的应用程序中显示了一个对话框碎片,我注意到即使我将碎片的y位置设置到屏幕底部,仍然可以看到边距:

        Display display = getActivity().getWindowManager().getDefaultDisplay();
        Point size = new Point();
        display.getSize(size);
        windowParams.y = size.y;

在下面的屏幕截图中,您可以看到尽管设置在屏幕底部,淡蓝色(我的对话片段)仍然显示距离屏幕底部一定距离。如何删除此保证金?

margins

2 个答案:

答案 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);