Ориентация экрана Blackberry Force - PullRequest
1 голос
/ 06 августа 2011

Я создаю приложение для Blackberry. В большинстве случаев это приложение должно быть в ориентации Display.DIRECTION_EAST. Но есть некоторые настройки, которые необходимо выполнить при первом запуске этого приложения. Настройка включает в себя диалоговое окно, которое всплывает с текстовым полем, которое необходимо заполнить, и кнопку ввода, чтобы нажать, как только вы закончите. В ландшафтном режиме кнопка ввода прокручивается за пределы экрана, и не очевидно, что необходимо прокрутить диалог вниз, чтобы нажать клавишу ввода. Так что пока это диалоговое окно находится на экране, я хочу вернуть устройство в режим Display.DIRECTION_NORTH. В настоящее время я использую это:

    int direction = Display.DIRECTION_NORTH;
    Ui.getUiEngineInstance().setAcceptableDirections(direction);

Но моя проблема в том, что эта команда фактически не меняет ориентацию при вызове. То, что он делает, это позволяет ориентации измениться, когда вы наклоните устройство так или иначе. Есть ли еще одна команда, которую я могу добавить после этого, которая заставит ее немедленно измениться? Или, может быть, другой механизм для установки ориентации, который делает это немедленно, вместо ожидания изменения акселерометра?

Ответы [ 3 ]

3 голосов
/ 10 ноября 2011

Вместо показа всплывающего окна вы можете вызвать setAcceptableDirections() код до того, как отобразится ваш экран.

Я видел предложения по созданию подкласса MainScreen и добавлению кода в конструктор. По своему опыту я предпочитаю добавлять код в метод приложения main().

Мой полный код можно найти в ответе на этот связанный вопрос: Как исправить выравнивание для вертикального и портретного экрана в BlackBerry?

2 голосов
/ 06 августа 2011

У меня было то же самое. Это (или, по крайней мере, я не знаю, исправили ли они это) известная проблема RIM. Проверьте эту ветку форума поддержки BB .

В '2008-12-10 21:41 PM' MSohm говорит:

В настоящее время приложения запускаются в текущей ориентации BlackBerry Storm, независимо от того, какие режимы задал разработчик. Как только пользователь наклонит устройство в правильную ориентацию, приложение изменит его ориентацию, а затем заблокирует его на месте.

В основном, рекомендуется показать PopupSceen, который просит наклонить устройство в желаемой для вас ориентации после того, как вы позвонили setAcceptableDirections. Как только пользователь сделал то, что вы просили, вы скрываете PopupScreen. Также вы можете проверить, правильно ли ориентировано устройство (если уже все в порядке, то просто не нужно показывать PopupScreen).

2 голосов
/ 06 августа 2011

Это ответ RIM

Если вы уже нашли это, и это не поможет, дайте мне знать.

...