隐藏状态栏,导航栏,不调整内容大小

时间:2019-08-30 11:29:01

标签: java android statusbar

我使用以下代码隐藏/取消隐藏状态栏/导航栏。

Server

当状态栏/导航栏显示或隐藏然后调整主要内容的大小(检查此视频:https://drive.google.com/file/d/11OnTSWBkNnn2PJ3_O0t-IWuregmiNHYW/view?usp=sharing)时,如何防止这种情况发生?

1 个答案:

答案 0 :(得分:0)

请使用以下代码隐藏状态栏

fun hideStatBar(activity: Activity)
{
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
    {
        var window = activity.window
        if (window != null)
        {
            window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
            window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
            window.statusBarColor = Color.TRANSPARENT
        }
    }
}

显示状态栏的方法

    fun displayStatBar(activity: Activity)
    {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
        {
            var window = activity.window
            if (window != null)
            {
                window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
                window.statusBarColor = activity.getColor(R.color.primary_dark)
            }
        }
    }