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:
parent
3da01bb1e0
commit
f24653c485
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue