Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在android Libgdx中设置纵向主屏幕和横向其他屏幕?_Java_Android_Libgdx - Fatal编程技术网

Java 如何在android Libgdx中设置纵向主屏幕和横向其他屏幕?

Java 如何在android Libgdx中设置纵向主屏幕和横向其他屏幕?,java,android,libgdx,Java,Android,Libgdx,我想在android中使用libgdx将主屏幕(应用程序的第一个屏幕)设置为纵向模式,其他屏幕设置为横向模式。 若我更改清单文件,那个么它要么将该模式应用于所有屏幕,要么将根据屏幕的旋转而更改。我不想那样。我想在纵向(固定)和横向模式(固定)其他主屏幕。 请帮助我。您可以使用: 用于纵向屏幕方向 public static CustomHandler handler; public GameClass(CustomHandler handler){ this.handler = han

我想在android中使用libgdx将主屏幕(应用程序的第一个屏幕)设置为纵向模式,其他屏幕设置为横向模式。 若我更改清单文件,那个么它要么将该模式应用于所有屏幕,要么将根据屏幕的旋转而更改。我不想那样。我想在纵向(固定)和横向模式(固定)其他主屏幕。 请帮助我。

您可以使用:

用于纵向屏幕方向

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)