控制屏幕方向黑莓

时间:2012-01-09 08:57:14

标签: blackberry screen-orientation

我想在每次用户更改手机方向时显示提醒。有一种方法来捕捉这种情况吗? 我使用Display.getOrientation();。但它总是以不同的方向返回32。

2 个答案:

答案 0 :(得分:3)

当方向发生变化时,您会收到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);
    }

答案 1 :(得分:0)

注意:当您检查方向时,您必须在9800模拟器中关闭SLIDER,否则它将无法正常工作

尝试以下代码:

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);
    }

}