Можно ли программно изменить цвет фона прозрачной строки состояния?Как установить цвет фона в прозрачную строку состояния
Я установил, что моя строка состояния прозрачна, используя следующий код, поэтому я также могу иметь свой навигационный ящик в строке состояния, если строка состояния не перекрывает навигационный ящик.
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>
Строка состояния принимает цвет фона из
<item name="colorPrimaryDark">@color/primary_dark</item>
Можно ли изменить этот цвет программно и иметь строку состояния еще быть прозрачным?
Я попытался с помощью
window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.setStatusBarColor(statusBarColor);
но строка состояния имеет некрасивый темный холст над ним, что я не хочу.
Есть ли другой способ архивировать это программно? Мне нужно изменить цвет во время выполнения. Также наличие разных стилей для каждого цвета не является вариантом, поскольку пользователь должен иметь возможность выбирать цвет.
EDIT: Это то, что я имею в виду под строкой состояния, перекрывающей навигационный ящик при изменении его цвета, используя setStatusBarColor(int);
. Я все еще хочу, чтобы навигационный ящик перекрывал строку состояния.
Вы уже задавая цвет как прозрачный, поэтому вы не можете установить другой цвет на прозрачной панели. –
@OnkarNene, но не существует способа изменить цвет ниже прозрачности? настройка primaryDark также изменяет его, поэтому должен быть способ изменить его, даже если он прозрачен. – qwertz