Как определить высоту Дисплея на сенсорных устройствах Blackberry? - PullRequest
6 голосов
/ 02 марта 2010

Я пытаюсь определить размер дисплея Blackberry Storm 2 по вертикали.

Я знаю, мое устройство имеет высоту 480 пикселей. Я пытаюсь получить это значение в своем коде, но если отображается виртуальная клавиатура, я получаю значение, равное 480 - (высота виртуальной клавиатуры) . Есть ли какая-либо функция для определения реальной высоты экрана на любом устройстве (с клавиатурой или без, с включенной или отключенной виртуальной клавиатурой).

Я также открываю классы RIM:

Я получаю эти значения со скрытой виртуальной клавиатурой:

Display.getWidth(); //360
Display.getHeight(); //480
UiApplication.getUiApplication().getActiveScreen().getContentWidth(); //360
UiApplication.getUiApplication().getActiveScreen().getContentHeight(); //480
UiApplication.getUiApplication().getActiveScreen().getWidth(); //360
UiApplication.getUiApplication().getActiveScreen().getHeight(); //480
UiApplication.getUiApplication().getActiveScreen().getVirtualWidth(); //360
UiApplication.getUiApplication().getActiveScreen().getVirtualHeight(); //480
UiApplication.getUiApplication().getActiveScreen().getVisibleWidth(); //360
UiApplication.getUiApplication().getActiveScreen().getVisibleHeight(); //480

Я получаю эти значения с показанной виртуальной клавиатурой:

Display.getWidth(); //360
Display.getHeight(); //248
UiApplication.getUiApplication().getActiveScreen().getContentWidth(); //360
UiApplication.getUiApplication().getActiveScreen().getContentHeight(); //248
UiApplication.getUiApplication().getActiveScreen().getWidth(); //360
UiApplication.getUiApplication().getActiveScreen().getHeight(); //248
UiApplication.getUiApplication().getActiveScreen().getVirtualWidth(); //360
UiApplication.getUiApplication().getActiveScreen().getVirtualHeight(); //248
UiApplication.getUiApplication().getActiveScreen().getVisibleWidth(); //360
UiApplication.getUiApplication().getActiveScreen().getVisibleHeight(); //248

Есть ли способ определить реальную высоту экрана?

1 Ответ

5 голосов
/ 02 марта 2010

Я бы тоже хотел знать обходной путь

Тем временем вы можете сохранить размер дисплея для разных устройств и получить их в зависимости от DeviceInfo.getDeviceName ()

Или вы можете сохранить Display.getHeight () значение при запуске приложения

...