Add LAYOUT_HIDE_NAVIGATION to navigation bar

Quantum theme moves the bar if LAYOUT_HIDE_NAVIGATION is not
specified. Note that because of the way the framework is designed,
this have the side effect of also applying LAYOUT_FULLSCREEN
so contents may be behind the status bar. This will be fixed later
when we enable the transparent status bar.

Change-Id: I2403571711678f457da07b1e4645df1931612530
This commit is contained in:
Maurice Lam 2014-06-06 10:58:26 -07:00
parent 3da01bb1e0
commit f24653c485

View file

@ -43,7 +43,7 @@ public class SetupWizardNavBar extends Fragment implements OnPreDrawListener {
private static final String TAG = "SetupWizardNavBar";
private static final int IMMERSIVE_FLAGS =
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
private int mSystemUiFlags = IMMERSIVE_FLAGS;
private int mSystemUiFlags = IMMERSIVE_FLAGS | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
private ViewGroup mNavigationBarView;
private Button mNextButton;
@ -107,7 +107,19 @@ public class SetupWizardNavBar extends Fragment implements OnPreDrawListener {
* @param useImmersiveMode True to activate immersive mode and hide the system navigation bar
*/
public void setUseImmersiveMode(boolean useImmersiveMode) {
mSystemUiFlags = useImmersiveMode ? IMMERSIVE_FLAGS : View.SYSTEM_UI_FLAG_VISIBLE;
// By default, enable layoutHideNavigation if immersive mode is used
setUseImmersiveMode(useImmersiveMode, useImmersiveMode);
}
public void setUseImmersiveMode(boolean useImmersiveMode, boolean layoutHideNavigation) {
if (useImmersiveMode) {
mSystemUiFlags |= IMMERSIVE_FLAGS;
if (layoutHideNavigation) {
mSystemUiFlags |= View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
}
} else {
mSystemUiFlags &= ~(IMMERSIVE_FLAGS | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
}
mNavigationBarView.setSystemUiVisibility(mSystemUiFlags);
}