在运行时删除FLAG_TRANSLUCENT_STATUS



我有一个有很多FragmentMainActivity,在一个特定的片段中,我想在系统栏后面绘制,所以我在运行时应用以下标志:

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        getActivity().getWindow().setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    }

我现在想要的是当用户退出此Fragment并输入另一个以删除该标志时,状态栏后面没有内容。我尝试将 null 作为参数传递给setFlags()方法,但这给出了错误。我已经搜索了remove()unSet()方法,但没有一个存在。那么我应该如何删除另一个Fragment的标志呢?

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
<小时 />

FLAG_TRANSLUCENT_STATUS被弃用了以下建议:

请改用半透明颜色的Window#setStatusBarColor(int)

声明了一个十六进制值为 #6F000000 的颜色,然后在代码中:

getWindow().setStatusBarColor(ContextCompat.getColor(context, R.color.my_color))

相关内容

  • 没有找到相关文章

最新更新