Skip to content

Commit

Permalink
Set correct status/navigation bar color across Android version
Browse files Browse the repository at this point in the history
  • Loading branch information
alexbakker committed Mar 9, 2024
1 parent c4b2f21 commit ffb496f
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import android.app.Activity;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
Expand Down Expand Up @@ -248,10 +249,12 @@ private void apply(int visibility) {
actionModeView.setVisibility(visibility);
actionModeView.setAlpha(visibility == View.VISIBLE ? 1f : 0f);

int statusBarColor = visibility == View.VISIBLE
? ThemeHelper.getThemeColor(com.google.android.material.R.attr.colorSurfaceContainer, getTheme())
: _statusBarColor;
getWindow().setStatusBarColor(statusBarColor);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
int statusBarColor = visibility == View.VISIBLE
? ThemeHelper.getThemeColor(com.google.android.material.R.attr.colorSurfaceContainer, getTheme())
: _statusBarColor;
getWindow().setStatusBarColor(statusBarColor);
}
}
}

Expand Down
1 change: 0 additions & 1 deletion app/src/main/res/values-v23/themes.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
<resources>
<style name="Theme.Aegis.Light" parent="Base.Theme.Aegis.Light">
<item name="android:navigationBarColor">@android:color/transparent</item>
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowLightStatusBar">true</item>
</style>
Expand Down
22 changes: 22 additions & 0 deletions app/src/main/res/values-v27/themes.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<resources>
<style name="Theme.Aegis.Light" parent="Base.Theme.Aegis.Light">
<item name="android:navigationBarColor">@android:color/transparent</item>
<item name="android:windowLightNavigationBar">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowLightStatusBar">true</item>
</style>

<style name="Theme.Aegis.Dark" parent="Base.Theme.Aegis.Dark">
<item name="android:navigationBarColor">@android:color/transparent</item>
<item name="android:windowLightNavigationBar">false</item>
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowLightStatusBar">false</item>
</style>

<style name="Theme.Aegis.Amoled" parent="Base.Theme.Aegis.Amoled">
<item name="android:navigationBarColor">@android:color/transparent</item>
<item name="android:windowLightNavigationBar">false</item>
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowLightStatusBar">false</item>
</style>
</resources>

0 comments on commit ffb496f

Please sign in to comment.