我有一个有很多Fragment
的MainActivity
,在一个特定的片段中,我想在系统栏后面绘制,所以我在运行时应用以下标志:
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))