Android DialogFragment 底部弹框 不留边距

Android DialogFragment 底部弹框 不留边距_第1张图片
image.png

重写DialogFragment里的onStart方法

@Override
public void onStart() {
    super.onStart();
    // 设置宽度为屏宽, 靠近屏幕底部。
    Window win = getDialog().getWindow();
    // 一定要设置Background,如果不设置,window属性设置无效
    win.setBackgroundDrawable( new ColorDrawable(Color.TRANSPARENT));
 
    DisplayMetrics dm = new DisplayMetrics();
    getActivity().getWindowManager().getDefaultDisplay().getMetrics( dm );
 
    WindowManager.LayoutParams params = win.getAttributes();
    params.gravity = Gravity.BOTTOM;
    // 使用ViewGroup.LayoutParams,以便Dialog 宽度充满整个屏幕
    params.width =  ViewGroup.LayoutParams.MATCH_PARENT;
    params.height = ViewGroup.LayoutParams.WRAP_CONTENT;
    win.setAttributes(params);
}

关键部分是

DisplayMetrics dm = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics( dm );

作者:大菜鸡儿
来源:CSDN
原文:https://blog.csdn.net/cui_boke/article/details/79639918

你可能感兴趣的:(Android DialogFragment 底部弹框 不留边距)