Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Dark-text transparent status bar with opaque navigation bar

Wait, it is not a duplicate

A similar question has been asked here, but not addressing dark-text status bar.

What I want to do

I want to achieve 3 things at the same time:

  1. Transparent status bar (Not hiding it!)
  2. Dark-text status bar
  3. Opaque (or black) navigation bar (which does not let activity content inflate underneath it)

What I have tried

The solution

            getWindow().getDecorView().setSystemUiVisibility(
                    View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                            | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);

can only achieve 1 and 3;

The solution here can only achieve 1 and 2;

And the solution here can only achieve 2 and 3....

The Question

So is there a way to achieve all 1, 2 an 3?!

like image 706
Sira Lam Avatar asked Mar 15 '18 10:03

Sira Lam


People also ask

How do I change the color of my status bar font?

Step 1: After opening the android studio and creating a new project with an empty activity. Step 2: Navigate to res/values/colors. xml, and add a color that you want to change for the status bar.

What is a status bar in Android?

Status bar (or notification bar) is an interface element at the top of the screen on Android devices that displays the notification icons, minimized notifications, battery information, device time, and other system status details.


1 Answers

Inside styles.xml:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    ...
    <item name="android:navigationBarColor">@android:color/black</item>
    <item name="android:statusBarColor">@android:color/transparent</item>
</style>

In activity's onCreate():

override fun onCreate(savedInstanceState: Bundle?) {
  window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
  super.onCreate(savedInstanceState)
  setContentView(R.layout.activity_main)
}

Will result in this:

like image 55
azizbekian Avatar answered Oct 21 '22 06:10

azizbekian