我在里面有一个带TableLayout的DialogFragment。当我执行我的代码时,DialogFragment高度占据了我的整个屏幕。我正在使用RelativeLayout。任何人都可以帮我在Android中设置DialogFragment的自定义宽度和高度吗?这就是我所做的,但不会为我工作:
Window view_dialog = getDialog().getWindow();
view_dialog.setTitle("MODE : CONNECTION");
view_dialog.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.CENTER_VERTICAL);
WindowManager.LayoutParams parameters = view_dialog.getAttributes();
parameters.y = dptopx(60);
view_dialog.setAttributes(parameters);
private int dptopx(int i) {
DisplayMetrics measurements = getActivity().getResources().getDisplayMetrics();
return (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, i, measurements);
}
答案 0 :(得分:0)
使用height
获取屏幕width
和displaymatrix
,然后根据高度和宽度放置所需的尺寸。
DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
int width = displayMetrics.widthPixels;
int height = displayMetrics.heightPixels;
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.copyFrom(dialog.getWindow().getAttributes());
lp.height = height - (height/5);
lp.width = width - 80;
dialog.getWindow().setAttributes(lp);