2016-06-20 15 views
0

Androidのlibgdxを使用して、ホーム画面(アプリケーションの最初の画面)をポートレートモードに設定し、他の画面をランドスケープモードに設定したいと考えています。 マニフェストファイルを変更すると、そのモードがすべての画面に適用されるか、または画面の回転に従って変更されます。私はそれを望んでいない。ホーム画面を縦長(固定)にし、他を横長モード(固定)にしたい。 私を助けてください。アンドロイドで横長のポートレートや他の画面でホーム画面を設定する方法Libgdx?

+0

のようにそれを呼び出す呼び出します具体的には – himanshu1496

+0

'setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)'を使うと、 –

答えて

1

あなたが使用することができますハドラー とあなたのandroidclassハンドラに応じ

を向きを変えるには、インターフェイス名を作ることを実装し、それはCustomHandler作る(編集:カスタムハンドラクラスは、あなたのコアモジュールになる)このような :

public interface CustomHandler { 
public void setOrientationPortrait(); 
public void setOrientationLandscape(); 
} 

今、あなたのAndroidのクラスを作りますCustomHandlerはこの

public class AndroidLauncher extends AndroidApplication implements CustomHandler { 

    @Override 
    public void setOrientationPortrait(){ 
     this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
    } 

    @Override 
    public void setOrientationLandscape(){ 
    this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 
    } 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
     androidPref = getSharedPreferences("MyPref", Context.MODE_PRIVATE); 

     View gameView = initializeForView(new GameClass(this), config); 
     setContentView(gameView);  
} 

とコアモジュールに

あるごGameClassのように実装します

は、単にあなたが向き

public static CustomHandler handler; 

public GameClass(CustomHandler handler){ 
    this.handler = handler; 
} 

を変更したい時はいつでもその後、任意の画面やステージ

にもあなたは一人ひとりの活動のための方向を指定することができますマニフェストファイルからこの

GameClass.handler.setOrientationPortait(); 
//or 
GameClass.handler.setOrientationLandscape(); 
0

あなたは使用することができます。

縦長の画面の向き

this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

ために横長の画面の向きについて

this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 
関連する問題