2016-06-20 40 views
0

我想在android中使用libgdx在縱向模式下設置主屏幕(應用程序的第一屏幕)和橫向模式下的其他屏幕。 如果我更改清單文件,那麼它會將該模式應用於所有屏幕,或者它將根據屏幕的旋轉而改變。我不要那個。我想要縱向(固定)的主屏幕和其他橫向模式(固定)的主屏幕。 請幫幫我。如何在Android 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); 
相關問題