Существуют различные способы изменения цвета строки состояния.
1) Использование styles.xml. Вы можете использовать атрибут android: statusBarColor, чтобы сделать это простым, но статичным способом.
Примечание. Этот атрибут также можно использовать с темой «Материал».
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="AppTheme.Base">
<item name="android:statusBarColor">@android:color/transparent</item>
</style>
</resources>
2) Вы можете сделать это динамически, используя метод setStatusBarColor (int) в классе Window. Но помните, что этот метод доступен только для API 21 или выше. Так что не забудьте проверить это, иначе ваше приложение непременно рухнет на нижних устройствах.
Вот рабочий пример этого метода.
if (Build.VERSION.SDK_INT >= 21) {
Window window = getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.setStatusBarColor(getResources().getColor(R.color.primaryDark));
}
где primaryDark - это 700 оттенков основного цвета, которые я использую в своем приложении. Вы можете определить этот цвет в файле colors.xml.
Попробуйте и дайте мне знать, если у вас есть какие-либо вопросы. Надеюсь, поможет.