その場合は, 以下の様にすれば良い。
- // 画面の向きを固定
- public void fixDisplayOrientation(){
- Configuration config = getResources().getConfiguration();
- if(config.orientation == Configuration.ORIENTATION_PORTRAIT){
- setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
- }else if (config.orientation == Configuration.ORIENTATION_LANDSCAPE){
- setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
- }
- }
- // 画面の向きの固定を解除
- public void unfixDisplayOrientation(){
- setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
- }
ここで, 画面の向きを取得するとき, 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 コメント:
コメントを投稿