2015-07-06 57 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);