0

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

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

我做到了

在此处输入图像描述

我想将该底栏的颜色更改为白色

4

1 回答 1

1

您必须按照此处android:navigationBarColor所述在您的主题中设置。如果您想要轻型导航栏,请考虑添加到您的主题中。<item name="android:windowLightNavigationBar">true</item>

也需要更换

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

<item name="android:windowTranslucentNavigation">false</item>
于 2021-02-21T16:49:50.500 回答