2012-01-05 9 views
3

私は加速度計を使用してアプリケーションを作成しましたが、画面の回転を検出すると問題が発生し、メインメニューに移動します。デバイスが回転するたびにlibgdxを再起動するアプリケーション

次のコードを使用して回転を無効にしましたが、回転動作を検出して、もはやランドスケープモードにはなりませんが、メインメニューに移動します。

if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { 
     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
    } 

この回転検出を防止するにはどうすればよいですか?

答えて

7

AndroidManifest.xmlファイルのアクティビティタグにandroid:screenOrientation="portrait"を入れます。この属性は、この特定のアクティビティを常にポートレートモードで実行する必要があるため、Androidはローテーション中に画面の向きを変更しようとしません。

+1

私は助けることができてうれしいです。 – Kimi

2

また、キーボードが表示されたり隠されているときの再起動を防ぐために

android:configChanges="keyboard|keyboardHidden|orientation" 

を追加したくなるでしょう。

ゲームを横モードと縦モードの両方で使用する場合は、android:screenOrientation="portrait"を削除することもできます。 libgdx wikiを参照してください:https://code.google.com/p/libgdx/wiki/ApplicationConfiguration#The_.xml_File

2

キミの答えは正しいですが、ゲームをAmazonデバイスでも実行したい場合は、追加値 "screenSize"を追加する必要があります。その結果は次のようになります。

android:configChanges="keyboard|keyboardHidden|orientation|screenSize"

関連する問題