我想在Android中使用libgdx以纵向模式设置主屏幕(应用程序的第一个屏幕)以及横向模式下的其他屏幕。 如果我更改清单文件,则它将该模式应用于所有屏幕,否则它将根据屏幕的旋转而改变。我不要那个。我希望主屏幕在纵向(固定)和其他在横向模式(固定)。 请帮帮我。
答案 0 :(得分: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();
答案 1 :(得分:0)
您可以使用:
用于纵向屏幕方向
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
用于横向屏幕方向
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);