如何在LibGDX中隐藏导航栏?

时间:2014-11-27 05:08:51

标签: libgdx screen

基本上这就是问题所在。当我在没有物理主页按钮的手机中运行应用程序时,我该怎么做才能隐藏导航栏?顺便说一下,我正在运行android 5(我不知道是否会改变任何东西。)

如果你知道怎么做,请回答:)

3 个答案:

答案 0 :(得分:14)

我知道这是一个老问题,但对于那些在这里找到方向的人来说,libGDX现在有一个非常简单的方法来做到这一点。只需在AndroidLauncher类中设置此字段即可。

config.useImmersiveMode = true;

答案 1 :(得分:0)

截至目前,LibGDX没有隐藏导航栏的抽象,与状态栏不同。 (它具有AndroidApplicationConfiguration类中状态栏的控件。)您应该在Android的包装器应用程序中进行隐藏。

您可以使用以下链接:Hiding the Navigation Bar

答案 2 :(得分:0)

PixNB Blog有你的答案。

步骤如下: 将hideVirtualButtons()方法添加到AndroidLauncher.java:

    @TargetApi(19)
private void hideVirtualButtons() {
    getWindow().getDecorView().setSystemUiVisibility(
              View.SYSTEM_UI_FLAG_LAYOUT_STABLE
            | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
            | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
            | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
            | View.SYSTEM_UI_FLAG_FULLSCREEN
            | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
}

从AndroidLauncher.java中的onCreate()调用hideVirtualButtons:

public void onCreate() {
    ....
    // In KITKAT (4.4) and next releases, hide the virtual buttons
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        hideVirtualButtons();
    }
}

并覆盖AndroidLauncher.java中的onWindowFocusChanged()函数:

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    if (hasFocus) {
        // In KITKAT (4.4) and next releases, hide the virtual buttons
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            hideVirtualButtons();
        }
    }
}

如果您需要一些解释,请访问blog