如何设置全屏剪切显示心情的底栏颜色

问题描述

我想实时实现全屏活动,并以应用程序样式添加了此代码

<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>

并在活动中添加了这个

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
        }
    }

我做到了

enter image description here

我想把那个底栏的颜色改成白色

解决方法

您必须按照 here 的说明在主题中设置 android:navigationBarColor。如果您想要浅色导航栏,也可以考虑将 <item name="android:windowLightNavigationBar">true</item> 添加到您的主题中。

还需要更换

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...