monaka android memo

Androidの勉強中!調べたことを忘れないためのブログです!

Android端末の向きを取得する。

Android端末の向きを取得する。
画面の向きが、縦か、横かを取得する方法を関数形式でメモ。

public boolean GetRotateState()
{
  /* 現在の設定情報を取得 */
  Configuration config = getResources().getConfiguration(); //①
    if (config.orientation == Configuration.ORIENTATION_PORTRAIT) //②
    {
    	/* 現在の向きが縦の場合 */
    	return false;
    }
    else
    {
    	/* 現在の向きが横の場合 */
    	return true;
    }
}

①.ActivityのConfigurationを取得します。
②.取得した、Configurationのorientationフィールドと比較して、縦ならfalseを、横ならtrueを返す。

端末の向きが縦か、横かを取得する簡単な関数になっていますが、実際にはこれでは考慮不足かもしれません。
Configurationのorientationフィールドに入る可能性があるのは、下記の4パターン。

1.ORIENTATION_LANDSCAPE = 2 「横向き」
2.ORIENTATION_PORTRAIT = 1 「縦向き」
3.ORIENTATION_SQUARE = 3 「正方形?」APILevel16から廃止
4.ORIENTATION_UNDEFINED = 0 「未設定?」

正方形と、未設定の場合も一応ありえるらしいので、対応する形にするのが最善なのかもしれない・・・