2015-03-08 6 views
0

Я меняю цвет своего Toolbar динамически, и мне было интересно, могу ли я изменить цвет строки состояния динамически, а также для соответствия Toolbar. Я знаю, что это может быть сделано с помощью:Динамическая строка состояния изменения Android динамически

Window window = getWindow(); 
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); 
window.setStatusBarColor({Color}); 

Однако то, что я ищу, чтобы получить {цвета} динамически на основе Toolbar цвета через вычисление/преобразование вместо того, зная, что шестнадцатеричный код для более темная версия цвета.

Я прочитал style guide и в нем указано, что основной цвет (панель инструментов) должен быть 500 цветов, а основной темный цвет (строка состояния) должен быть версией 700. Я попытался преобразовать несколько разных цветов в десятичные, и если я не пропущу что-то, я не смог найти корреляцию между различными цветами 500 и 700. Любая помощь будет оценена по достоинству.

+1

[Это] (http://stackoverflow.com/questions/4928772/android-color-darker) может быть то, что вы хотите, предполагая, что вы знаете или можете получить цвет панели инструментов. – JonasCz

+0

Проверьте мой ответ здесь http://stackoverflow.com/a/40964456/127923 – Ammar

+0

Это поможет http://www.gadgetsaint.com/tips/change-statusbar-color-android/ – ASP

ответ

1

Если вы хотите использовать более темный оттенок своего цвета, вы можете сделать это, изменив HSB вашего цвета. Таким образом, вы берете цвет панели инструментов и изменяете насыщенность и значение, чтобы получить более темный оттенок, и вы должны быть хорошими.

Для более детального способа сделать это вы можете прочитать этот пост: Android change status bar color by converting existing color's HSB

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