2014-11-27 9 views
2

В принципе, это вопрос. Что я могу сделать, чтобы скрыть панель навигации, когда я запускаю приложение в телефоне, у которого нет физических кнопок для дома? Кстати я бегу андроид 5 (я не знаю, если это меняет что-нибудь.)Как скрыть панель навигации в LibGDX?

Если вы знаете, как это сделать, пожалуйста, ответьте :)

ответ

0

По состоянию на сегодняшний день, LibGDX не абстракция для скрытия навигационной панели в отличие от строки состояния. (Он имеет контроль над строкой состояния в классе AndroidApplicationConfiguration.) Вы должны скрывать свое приложение-оболочку для Android.

Здесь вы идете со ссылкой: Hiding the Navigation Bar

+0

Спасибо за ответ! – blaswtf

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); 
} 

вызова hideVirtualButtons из OnCreate() в AndroidLauncher.java:

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

и переопределить функцию onWindowFocusChanged () в пределах AndroidLauncher.java:

@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, если вам нужно объяснение.

12

Я знаю, что это старый вопрос, но для всех, кто находит здесь свой путь, у libGDX теперь есть очень простой способ сделать это. Просто установите это поле в классе AndroidLauncher.

config.useImmersiveMode = true; 
Смежные вопросы