getWindowVisibleDisplayFrame () дает разные значения в Android 2.2, 2.3 (но не 2.3.3)

У меня есть Activity , которое использует

getWindow().getDecorView().getWindowVisibleDisplayFrame(rectangle);

для определения полезного пространства экрана и решения, где разместить изображения.

Возвращаясь к Activity после того, как я нажму аппаратную кнопку «назад», чтобы выйти из Activity , значения прямоугольника равны

(0,0,800,480)

. Однако при возврате в Activity после того, как я нажму аппаратную кнопку «домой», оставьте действие , значения прямоугольника равны

(0,38,800,480)

, что не позволяет отображать и размещать изображения.

Как я могу убедиться, что получаю согласованные значения при вызове

getWindow().getDecorView().getWindowVisibleDisplayFrame(rectangle);

, независимо от того, как я покинул приложение?

ОБНОВЛЕНИЕ: Спасибо @Reno за помощь в тестировании; похоже, это зависит от версии Android, чем от устройства.

5
задан Thunder Rabbit 5 October 2011 в 10:44
поделиться