androiduser-interfaceandroid-fullscreendisplay-cutouts

How to set color of bottom bar that comes with full screen cut out display mood


I wanted to achieve full screen activity live this and I added this code in app style

<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>

and also added this in activity

private fun makeFullScreen() {
        val winParams: WindowManager.LayoutParams = window.attributes
        winParams.flags =
            winParams.flags and WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS.inv()
        window.attributes = winParams
        window.decorView.systemUiVisibility =
            View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
        Log.d(TAG, "full screen")
        checkStatusBarColor()
    }

    private fun checkStatusBarColor() {
        window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
        window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
            window.decorView.systemUiVisibility = SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
        }
    }

and I achieved this

enter image description here

I want to change color of that bottom bar to white color


Solution

  • You have to set the android:navigationBarColor in your theme as described here. If you want the light navigation bar consider adding <item name="android:windowLightNavigationBar">true</item> to your theme as well.

    also need to replace

    <item name="android:windowTranslucentNavigation">true</item>
    

    with

    <item name="android:windowTranslucentNavigation">false</item>