2012-01-09 140 views
0

我想每當用戶更改手機的方向時顯示警報。有一種方法可以捕捉到這種打擊? 我使用Display.getOrientation();。但它總是以不同的方向返回32。控制屏幕方向黑莓

回答

0

注:當你檢查你的方向在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); 
    } 

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