Вы не можете напрямую получить значение высоты ширины компонента, которое полностью зависит от жизненного цикла активности.
Что вы можете сделать, вы можете передать ссылку на контекст, доступный в неактивном классеи получить результаты через этот контекст.
Скажем, например, вы хотите получить соотношение экрана устройства или высоту / ширину или плотность, вы можете сделать что-то вроде этого:
public static int getScreenHeightInDP(Context context) {
DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
float screenHeightInDP = displayMetrics.heightPixels / displayMetrics.density;
return Math.round(screenHeightInDP);
}
Отредактируйте
для вашего случая, создайте класс Utility следующим образом:
public class Utility {
public static void setLayout(DialogFragment dialogFragment) {
DisplayMetrics displayMetrics = dialogFragment.getResources().getDisplayMetrics();
int height = displayMetrics.heightPixels;
int width = displayMetrics.widthPixels;
if(dialogFragment.getDialog().getWindow()!=null)
dialogFragment.getDialog().getWindow().setLayout(width,height);
}
}