Как я могу получить ширину / высоту Dialog с макетом FILL_PARENT?

1

У меня есть активность с

android:theme="@android:style/Theme.Dialog" 

чтобы показать это как окно с плавающей точкой. Также у меня есть линия

getWindow().setLayout(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);

И мне нужна ширина/высота этого окна, чтобы показывать контент правильно.

Я проверил четыре варианта и не получил ответа:

//1 
int width = getWindowManager().getDefaultDisplay().getWidth();

//2 
int width = getWindow().getDecorView().getWidth();

//3 
getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);

//4 
int width = getWindow().getAttributes().width;

Благодарю!

Теги:
android-layout

1 ответ

2

используйте эту функцию:

private int getting_screen_width(Dialog dialog) 
    { 
    DisplayMetrics dm = new DisplayMetrics();
     dialog.getWindow().getWindowManager().getDefaultDisplay().getMetrics(dm);
    String width = ""+dm.widthPixels ;
    dm = null;
       return (Integer.parseInt(width));

это возвращает значение ширины экрана

  • 0
    Ваша функция возвращает ширину экрана, но мне нужна ширина всплывающего окна. Активность со стилем диалога, отображаемым в виде всплывающего окна, где W (и H) меньше, чем screen-W (-H) примерно на 10 пикселей.
  • 0
    Пожалуйста, посмотрите мои изменения
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню