Java 安卓摆脱浮动保证金
我在我的应用程序中显示一个dialogfragment,我注意到即使我将片段的y位置设置到屏幕底部,仍然可以看到一个空白:Java 安卓摆脱浮动保证金,java,android,dialogfragment,Java,Android,Dialogfragment,我在我的应用程序中显示一个dialogfragment,我注意到即使我将片段的y位置设置到屏幕底部,仍然可以看到一个空白: Display display = getActivity().getWindowManager().getDefaultDisplay(); Point size = new Point(); display.getSize(size); windowParams.y = size.y; 在下面的屏幕截图中
Display display = getActivity().getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
windowParams.y = size.y;
在下面的屏幕截图中,您可以看到浅蓝色(我的dialogfragment)仍然显示在离屏幕底部一段距离的地方,尽管设置为屏幕底部。如何删除此页边距
解决方案是添加以下行:
setStyle(DialogFragment.STYLE_NO_FRAME, 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);
使用它时,对话框将消失。