Существуют различные способы изменения строки состояния цвета.
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.
Попробуйте и дайте мне знать, если у вас есть вопросы. Надеюсь, поможет.
Вы пытались использовать SystemBarTint lib? Https: //github.com/jgilfelt/SystemBarTint –
Возможный дубликат [Как изменить цвет строки состояния в android] (https://stackoverflow.com/questions/22192291/ how-to-change-the-status-bar-color-in-android) – DSoldo