Java 如何在android Libgdx中设置纵向主屏幕和横向其他屏幕?
我想在android中使用libgdx将主屏幕(应用程序的第一个屏幕)设置为纵向模式,其他屏幕设置为横向模式。 若我更改清单文件,那个么它要么将该模式应用于所有屏幕,要么将根据屏幕的旋转而更改。我不想那样。我想在纵向(固定)和横向模式(固定)其他主屏幕。 请帮助我。您可以使用: 用于纵向屏幕方向Java 如何在android Libgdx中设置纵向主屏幕和横向其他屏幕?,java,android,libgdx,Java,Android,Libgdx,我想在android中使用libgdx将主屏幕(应用程序的第一个屏幕)设置为纵向模式,其他屏幕设置为横向模式。 若我更改清单文件,那个么它要么将该模式应用于所有屏幕,要么将根据屏幕的旋转而更改。我不想那样。我想在纵向(固定)和横向模式(固定)其他主屏幕。 请帮助我。您可以使用: 用于纵向屏幕方向 public static CustomHandler handler; public GameClass(CustomHandler handler){ this.handler = han
public static CustomHandler handler;
public GameClass(CustomHandler handler){
this.handler = handler;
}
用于横向屏幕定向
public static CustomHandler handler;
public GameClass(CustomHandler handler){
this.handler = handler;
}
你可以用哈得勒。
并使您的androidclass实现该处理程序并相应地更改方向
将接口命名为CustomHandler(编辑:核心模块中的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.handler.setOrientationPortait();
//or
GameClass.handler.setOrientationLandscape();
在核心模块中的游戏类中
只要在你想改变方向的时候打电话就行了
public static CustomHandler handler;
public GameClass(CustomHandler handler){
this.handler = handler;
}
然后在任何屏幕或舞台上
这样说吧
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.handler.setOrientationPortait();
//or
GameClass.handler.setOrientationLandscape();
您还可以从清单文件中指定每个活动的具体方向。您可以使用
setRequestedOrientation(ActivityInfo.SCREEN\u orientation\u Grait)