2015-03-21 3 views
1

Я хочу скрыть панель клавиш (home, back, menu), когда пользователь запускает мое приложение. Я попытался использовать:Android скрывает программные клавиши на устройствах nexus.

getWindow(). GetDecorView(). SetSystemUiVisibility (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

Но, к сожалению, как только пользователь взаимодействует с моим приложением, панель программных клавиш снова отображается. Есть ли способ скрыть его до тех пор, пока пользователь не выйдет из моего приложения?

ответ

4

Это называется погружным режимом.

Отъезд: https://developer.android.com/training/system-ui/immersive.html

код, который вы просите за это:

@Override 
public void onWindowFocusChanged(boolean hasFocus) { 
    super.onWindowFocusChanged(hasFocus); 
    if (hasFocus) { 
     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_HIDE_NAVIGATION 
         | View.SYSTEM_UI_FLAG_FULLSCREEN 
         | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); 
    } 
} 

Днем ???

+0

Я должен был добавить это: 'getWindow(). AddFlags (WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);' –