2016-10-14 3 views
0

Мой вопрос: я хочу изменить цвет строки состояния в конкретном фрагменте. И во всем остальном фрагменте цвет должен быть таким же. Например, как и во всех фрагментах, мой цвет строки состояния - red.but в конкретном фрагменте i хотите изменить его на черный. может ли кто-нибудь сказать мне, как я могу это сделать?Как изменить цвет строки состояния в конкретном фрагменте?

Это 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; 
    } 
+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 в другие фрагменты.

Смежные вопросы