Android DialogFragment貼合手機底部和左右邊緣
阿新 • • 發佈:2019-02-12
重寫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 );