如何更改特定片段中状态栏的颜色?

时间:2016-10-14 09:22:00

标签: android android-fragments android-statusbar

我的问题是我想要更改特定片段中状态栏的颜色。在所有其他片段中,颜色应该相同。例如,在所有片段中,我的状态栏颜色为红色。但在特定片段中我想把它变成黑色。谁能告诉我怎么能这样做?

这是我片段的onCreateView方法: -

 @Override
    public View onCreateView(LayoutInflater inflater, final ViewGroup container, Bundle savedInstanceState) {
        final View view = (View) inflater.inflate(R.layout.slide_user_image, container, false);

        Window window = getActivity().getWindow();
        window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
        window.setStatusBarColor(getActivity().getResources().getColor(R.color.black));


        return view;
    }

1 个答案:

答案 0 :(得分:2)

 Window window = getActivity().getWindow();
    window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
    window.setStatusBarColor(getActivity().getResources().getColor(R.color.black));

将此代码写在片段的onResume()上,并在onPause()方法上恢复颜色,这样该应用程序将在其他片段中使用旧的statusbarcolor。