2012-01-09 20 views
0

ユーザーが携帯電話の向きを変更するたびにアラートを表示します。このmouvementをキャプチャする方法はありますか? 私は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); 
    } 
関連する問題