2015-07-06 62 views
-1

我有一个带有TableLayout的DialogFragment。当我执行我的代码时,DialogFragment高度占据了我的整个屏幕。我正在使用RelativeLayout。任何人都可以帮助我设置Android中的DialogFragment自定义宽度和高度?这是我做了什么,但不会为我工作:为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

获取屏幕heightwidthdisplaymatrix,然后把你想要的大小取决于高度和宽度。

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