ориентация экрана управления blackberry - PullRequest
0 голосов
/ 09 января 2012

Я хочу отображать предупреждение каждый раз, когда пользователь меняет ориентацию мобильного телефона.Есть способ запечатлеть это движение?Я использую Display.getOrientation();.Но он всегда возвращает 32 в различной ориентации.

Ответы [ 2 ]

3 голосов
/ 09 января 2012

Вы получаете звонок на sublayout(), когда меняется ориентация. Вы можете сохранить displaywidth в переменной, и если значение изменилось в sublayout(), вы знаете, что ориентация изменилась.

вот так.

protected void sublayout(int width, int height) {
         if(Display.getWidth()==oldWidth)
         { 
             //no change
         }
         else
         {   
             // orientation changed
         }
            oldWidth = Display.getWidth();
            super.sublayout(width, height);
    }
0 голосов
/ 09 января 2012

Примечание: когда вы проверяете ориентацию, вы должны закрыть SLIDER в симуляторе 9800, иначе это не будет работать

попробуйте следующий код:

public class checkOrientation 
{
     VerticalFieldManager manager;int ori;
      public checkOrientation()
    {
        ori=Display.getOrientation();
        manager=new VerticalFieldManager()
        {
            protected void sublayout(int maxWidth, int maxHeight) {
                super.sublayout(Display.getWidth(),Display.getHeight());
                setExtent(Display.getWidth(),Display.getHeight());
                if(ori!=Display.getOrientation()){
                    UiApplication.getUiApplication().invokeLater(new Runnable() {
                        public void run() {
                            ori=Display.getOrientation();
                            Dialog.inform(""+Display.getOrientation());
                        }
                    });
                }
            }
        };
        add(manager);
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...