Я работаю с конструкцией материалов и CollapsingToolbarLayout и хочу использовать прозрачную строку состояния в одном из фрагментов. У меня есть MainActivity с AppTheme (в полупрозрачной строке состояния style.xml и наложениях есть ложь). У меня есть Fragment1 и Fragment2 Фрагмент1 не должен иметь прозрачную строку состояния. Просто нормально с primaryDarkColor. Тем не менее, в Fragment2 мне нужно прокрутить строку состояния прозрачности. Я достиг этого таким образом:Android set Нормальная строка состояния программно
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
//Making status bar transparent
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window w = getActivity().getWindow(); // in Activity's onCreate() for instance
w.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION, WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
w.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
}
И когда я снова вернусь в Fragment1, строка состояния скрыта. Думаю, я должен отключить строку состояния прозрачности onPause() или onStop(). Но не знаю, как это сделать пророматично. Какие-либо предложения?
Спасибо! Это работает. Тем не менее, мой Fragment1 View теперь все еще накладывается на StatusBar (часть панели инструментов теперь находится в строке состояния). Как я могу установить windowActionModeOverlay на ложное прогромно? – Ugadaykin