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

标签 java android libgdx

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

最佳答案

您可以使用 hadler。 并使您的 androidclass 实现该处理程序并相应地更改方向

将接口(interface)命名为 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();

关于java - 如何在 android Libgdx 中设置纵向主屏幕和横向其他屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37922151/

相关文章:

java - 如何将 JSONObject 解析为整数列表?

android - 共享首选项自动删除

android - 将触摸区域限制为 libgdx 中的纹理区域

java - libGDX html 项目中未出现像素图圆形边框

javascript - 键盘打开时我需要点击两次 -- React native

java - LibGDX - 绘制弯曲标签

java - 如何从Java中的响应中删除某些字符?

java - Android 应用程序 Mp3 文件 mimetype 解析为 null

java - 如何从 Java 生成唯一的 4 字符随 secret 钥

java - 如何刷新需要从数据库加载的 Android Activity ?