2011/04/05

Android - 画面の向きの固定方法

画面の向きを固定したい!という場合があると思います。
その場合は, 以下の様にすれば良い。

  1. // 画面の向きを固定  
  2. public void fixDisplayOrientation(){  
  3.     Configuration config = getResources().getConfiguration();  
  4.     if(config.orientation == Configuration.ORIENTATION_PORTRAIT){  
  5.         setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);  
  6.     }else if (config.orientation == Configuration.ORIENTATION_LANDSCAPE){  
  7.         setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);  
  8.     }  
  9. }  
  10.   
  11. // 画面の向きの固定を解除  
  12. public void unfixDisplayOrientation(){  
  13.     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);  
  14. }  

ここで, 画面の向きを取得するとき, config.orientation の値を使用。
Configuration.ORIENTATION_PORTRAIT なのか Configuration.ORIENTATION_LANDSCAPE なのかで判断する。


しかし, 画面の向きを設定するとき, は, setRequestedOrientation(int orientation) に与える引数の値は, Configuration.ORIENTATION_PORTRAIT や Configuration.ORIENTATION_LANDSCAPE ではなく, ActivityInfo.SCREEN_ORIENTATION_PORTRAIT または ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE なので注意!

0 コメント:

コメントを投稿

 
;