I wrote the following code to enter an activity to the immersive mode.
decorView = Window.DecorView;
var uiOptions = (int)decorView.SystemUiVisibility;
var newUiOptions = (int)uiOptions;
newUiOptions |= (int)SystemUiFlags.LowProfile;
newUiOptions |= (int)SystemUiFlags.Fullscreen;
newUiOptions |= (int)SystemUiFlags.HideNavigation;
newUiOptions |= (int)SystemUiFlags.Immersive;
newUiOptions |= (int)SystemUiFlags.ImmersiveSticky;
decorView.SystemUiVisibility = (StatusBarVisibility)newUiOptions;
This works perfectly and I get a perfect immersive mode.
Now the issue is, when I use the following code to exit the immersive mode, It exits the immersive mode but turns my status bar and navigation bar to white.
BEFORE IMMERSIVE MODE:
Status bar and Navigation are light
AFTER EXITING IMMERSIVE MODE:
To Exit immersive mode I am using the following code
decorView = Window.DecorView;
decorView.SystemUiVisibility = StatusBarVisibility.Visible;
I tried few other things, such as the following
How to completely exit from Immersive full screen mode?
https://developer.android.com/training/system-ui/immersive
They work but all with white status bar and navigation bar.
In Addition, yes I am using the LightStatusBar
and LightNavigationBar
but even setting that when exiting the immersive mode does not work such as
decorView = Window.DecorView;
var uiOptions = (int)decorView.SystemUiVisibility;
var newUiOptions = (int)uiOptions;
newUiOptions |= (int)SystemUiFlags.LightNavigationBar;
newUiOptions |= (int)SystemUiFlags.LightStatusBar;
decorView.SystemUiVisibility = (StatusBarVisibility)newUiOptions;
Anything I do, I just can't get the status bar and navigation bar back to normal after exiting the immersive mode
Any idea on this?
STYLES.XML
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowNoTitle">true</item>
<item name="android:statusBarColor">#ffffff</item>
<item name="android:windowLightStatusBar">true</item>
<item name="android:navigationBarColor">@color/colorPrimary</item>
<item name="android:windowLightNavigationBar">true</item>
<item name="android:actionBarStyle">@style/CustomActionBarStyle</item>
</style>
<style name="CustomActionBarStyle" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:titleTextStyle">@style/NoTitleText</item>
<item name="android:subtitleTextStyle">@style/NoTitleText</item>
</style>
<style name="NoTitleText">
<item name="android:textSize">0sp</item>
<item name="android:textColor">#00000000</item>
</style>
Cheers