I\'ve been battling with setSystemUiVisibility() to try to hide the soft navigation buttons for a while (for a video player). It does not seem to work as advertised. Here is
I use setOnSystemUiVisibilityChangeListener() to make this full screen mode work for me including hiding the navigation bar.
@Override
protected void onResume() {
if (Build.VERSION.SDK_INT >= 16) {
getWindow().getDecorView().setOnSystemUiVisibilityChangeListener(
new OnSystemUiVisibilityChangeListener() {
@Override
public void onSystemUiVisibilityChange(int visibility) {
if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) {
getActionBar().show();
} else {
int mUIFlag = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LOW_PROFILE
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
getWindow().getDecorView()
.setSystemUiVisibility(mUIFlag);
getActionBar().hide();
}
}
});
}
super.onResume();
}
it seems that android only trigger the setSystemUiVisibility() when inside the listener.