How to Change the Color of Status Bar in an Android App?
A Status Bar in Android is an eye-catching part of the screen, all of the notification indication, battery life, time, connection strength, and plenty of things shows here. An Android user may look at a status bar multiple times while using an Android application. It is a very essential part of the design that the color of the status bar should follow the color combination of the layout. You can look out to many android apps on your phone and can see how they changed it according to its primary colors. There can be multiple ways for changing the status bar color but we are going to tell you about the best hand-picked two methods which you can use either in Java or Kotlin.
Method 1: Creating a New Theme
You can follow this method in apps that are built with Kotlin or Java. It will work in both.
Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course.
Step 1: Open Android Studio and start a new project by selecting an empty activity. Give it a name of your choice, then select your language and API level. At last click on finish.
Step 2: Find an XML file called styles.xml by navigating res/values/styles.xml.
Step 3: Find another XML file by navigating res/values/colors.xml, and also add that color here which you want to change for the status bar.
Step 4: Now in the style.xml file, add the below code just before the tag and change the colors of it as your choice. ColorPrimaryDark is always going to be responsible for your status bar color.
You can do the same with android:statusBarColor but it will work only in above API Level 21. ColorPrimaryDark for the status bar will also not support in API Level 19. By default in most of the API Levels, ColorPrimaryDark will be the default color for statusBarColor, So it is good to go with changing ColorPrimaryDark.
Tip: You can create multiple themes and you can use them in any activity. In any theme, There is a set of colors that needs to be defined, you can also create new colors in the colors.xml file in the same directory and use it on the styles.xml file.
Step 6: Now go to the manifest/AndroidManifest.xml and here search the activity for which you want to apply that theme or change the color of the status bar. and add an attribute android:theme=”@style/DemoTheme”.
That’s done! Check your application by running it on an emulator or a physical device.
Method 2: Using setStatusBarColor Method
This method can be only used in the above API Level 21. Officially status bar color is not supporting below API Level 21. Although, Here we added an if condition, because in case if you haven’t selected above or equal to API 21 then it will check the android API Version, and then it will execute the code. It will not change the color of the status bar is below API Level 21 but the rest code will work well.
Step 1: After opening the android studio and creating a new project with an empty activity.
Step 2: Navigate to res/values/colors.xml, and add a color that you want to change for the status bar.
Step 3: In your MainActivity, add this code in your onCreate method. Don’t forget to replace your desired color with colorName.
Источник
Кастомизируем Android: статус-бары
Мы уже изменяли лаунчер и блокировщик экрана, а теперь поговорим об альтернативных статус-барах для Android. Тема животрепещущая – например, в четвертой редакции ОС трей не продуман и нередко выступает нагромождением строк, которые хочется поскорее закрыть, даже не прочитав сообщения. В Android 5.0 и 6.0 разработчики Google улучшили фирменный статус-бар, однако и он не лишен недостатков (в частности, исчезла удобная процентовка батареи). К счастью, сторонние девелоперы стараются исправить недочеты системного решения. Посмотрим, насколько хорошо это у них получается.
На просторах Google Play немало подобных приложений, но большинство из них либо мусорные, либо работают на конкретных прошивках, а то и вовсе морально устарели. Но во всем этом нагромождении все-таки удалось найти четыре более или менее адекватных статус-бара. Итак, встречайте – Material Status Bar Notific, Status, Energy Bar и Notification Toggle.
Material Status Bar Notific
Из названия понятно, что это решение в основном предназначено для владельцев смартфонов под управлением Android 4 (4.0 — 4.4), где материальный дизайн отсутствует. Впрочем, и владельцы более поздних ОС смогут найти здесь массу полезного – например, несколько тем оформления, возможность настройки значков и кастомизированные уведомления.
Material Status Bar Notific не страдает саморекламой в виде красочного представления в самом начале, отнимающего известную долю заряда батареи, а предлагает сразу приступить к делу. Для начала необходимо активировать сторонний статус-бар, выдав ему соответствующие разрешения. Это касается как «Уведомлений», так и «Сервисов». Напомню, что в Android 4.0 с этим заморачиваться не нужно.
Интерфейс приложения – однооконный с сайдбаром слева. В главном окне можно выбрать тему оформления, цвет иконки каждого приложения, а также получить оттенок из изображения или скриншота (вот и первая инновация). Сайдбар предполагает активацию панели уведомлений, создание резервной копии изменений, апгрейд до pro-версии (129 руб. за дополнительные возможности и отключение рекламы) и настройки.
Последние имеют забавный перевод («настойка») и позволяют включить анимированный (разными цветами) статус-бар, показ расхода заряда аккумулятора в процентах, темные иконки и автозапуск приложения, а также установить часы по центру трея и самостоятельно отрегулировать цвет панели, сделав ее уникальной. И все это без необходимости в root-правах. Этих настроек мне лично вполне достаточно, поскольку они устраняют все основные недостатки системного решения. Однако самое интересное еще впереди.
Итак, доступна одна из четырех тем оформления – «Lollipop», «Градиент», «Темный Градиент» и «Однообразная» (статус-бар полностью сливается с рабочим столом). Наиболее удачно выглядят первый и последний варианты. Также можно выбрать конкретный цвет оповещения и иконки для конкретного приложения, что очень удобно, так как позволяет выхватить из загроможденного трея нужное сообщение. Если по какой-то причине вы не смогли подобрать нужный оттенок или просто не знаете его код, то понравившийся цвет доступно изъять из любого изображения. Выглядит это так: выбираем, например, фото и просто нажимаем по областям снимка – нужный цвет с кодом отображается в самом верху экрана. Ничего не скажешь – оригинально.
Из прочих особенностей – возможность активировать альтернативную панель уведомлений. Для нее также доступны анимация, несколько тем, цветов и установка собственных обоев. Отдельно включаются кастомизированные уведомления, которые выглядят довольно здорово. Для них можно выбрать темный или светлый стиль оформления, а также настроить расположение – например, SMS могут отображаться в самом низу экрана. Жаль только, что время задержки показа отрегулировать нельзя.
Вот так это все выглядит в итоге. Цвет панели изменился без проблем и не сбрасывается после перезагрузки, анимация приятна глазу, процентовка батареи работает без проблем, а над уровнем сигнала снова появился понятный «H» или «H+». Быстрый доступ к функциям получил горизонтальную прокрутку, а также дополнительные опции – например, «Таймер» и «Камеру». Ниже предусмотрена регулировка яркости экрана с активацией адаптивной параметризации. Из недостатков – уведомления некоторых приложений могут не отображаться полностью, если вы настроили «хитрый» цвет. Как итог, Material Status Bar Notific действительно облегчает жизнь, и не только владельцам Android 4.0.
Приложение расходует в пределах 155 МБ ОЗУ, нагружая процессор до 0,3%, но это при всех активных настройках и анимации, то есть при желании этот показатель можно уменьшить до 100 МБ. Аккумулятор за день проседает на 16% со скоростью энергопотребления в 30 мВт. Часовой расход заряда батареи равен 1,6%. В общем, нагрузка вполне адекватна.
Статус-бар совместим с Android 4.0 или выше, весит в системе 18 МБ, содержит рекламу, которую можно отключить, а также активировать дополнительные темы оформления и опции (например, прокрутку экрана «кубом»). Вирусов нет (проверено Dr.Web и Zillya!). Из разрешений – непонятно, зачем приложению определение местоположения и непосредственный доступ к камере (а не только в галерее для установки собственных тем).
- Оценка автора: 4.9
- Оценка в Google Play: 3.8
- Разработчик: Treydev (независимый разработчик)
- Последнее обновление: от 12 января 2017
- Версия приложения: 6.9 rc
- Количество загрузок в Google Play: 1 000 000-5 000 000
- Совместимость приложения с Android: 4.0 или более поздняя
- Размер в установленном состоянии: 18 МБ
- Максимальная нагрузка на систему CPU/RAM: 0,3%/155 МБ
- Максимальный расход заряда аккумулятора: 16% (30 мВт)
- Покупки в приложении: pro-версия
- Реклама: да
- Полная кастомизация статус-бара и панели уведомлений
- Анимация
- Возможность установить свое фото в качестве темы оформления
- Разумная нагрузка на систему
- Батарея в процентах
- Отображения подтипа технологии мобильной связи
- Реклама
- Нет возможности установить время появления уведомления
- Машинный русский перевод (не переведены некоторые пункты меню)
- Иногда пропадает индикатор уровня сигнала для второй SIM
Status
Функционально приложение повторяет возможности Material Status Bar Notific, однако имеет целый ряд своих преимуществ. Например, здесь возможно автоматически скрывать неиспользуемые уведомления, а также есть более широкий выбор тем оформления и цветов, настройка размера иконок и опция отключения значков (например, батареи). Таким образом, доступно комбинировать системное решение и кастомизированный интерфейс альтернативного статус-бара.
Чтобы Status заработал, ему необходимо выдать аналогичные конкуренту разрешения. Да, это несколько оголяет систему, но, как и в случае с root, при кастомизации без этого никак. Единственный выход – дождаться, пока Google исполнит пожелания всех пользователей, а это практически нереально.
Интерфейс приложения однооконный с четырьмя вкладками. Русской локализации нет, так что у тех, кто плохо учил английский, могут возникнуть некоторые трудности, однако отечественный метод «научного тыка» никто не отменял. Впрочем, я помогу вам во всем разобраться.
Начнем с первой вкладки, где находятся настройки. Здесь заимствуются базовые настройки системы, которые трансформируются в формат Status. Ниже можно выбрать цвет по умолчанию для статус-бара. Причем не обязательно знать его код, так как многие популярные оттенки доступны в самом низу окна. Это же касается иконок, уведомлений и анимации, для которых цвета регулируются отдельно. Из особенностей – возможность установить любое время отображения уведомлений, а также выбрать стиль их отображения (например, «картами»). Кстати, анимация распространяется не только на саму панель, но и на иконки, а оттенок иконок может сам подстраиваться под общий фон статус-бара.
В следующей вкладке доступно настроить место отображения значков состояния, часов, иконки батареи (очень удобно слева), значка уровня сигнала, даты, беспроводных сетей, GPS и т. д. При этом каждый их них настраивается отдельно, размер иконки можно изменить, а также выбрать один из нескольких стилей отображения иконок. Таким образом, достигается полная кастомизация статус-бара, который вряд ли будет похож на какой-либо другой. При этом информативность увеличивается в разы. И никаких root-прав для этого не требуется. К слову, нет и рекламы, а также необходимости в приобретении pro-версии.
Помимо этого, можно параметризировать под себя и панель уведомлений. Причем уведомления настраиваются для каждой из установленных программ по-своему. Например, для SMS устанавливается цвет окна, сам текст сообщения скрывается, уведомления для этого приложения полностью отключаются. Короче, доступно хорошенько почистить статус-бар и для каждой программы дифференцировать оповещения, отделив зерна от плевел.
Работают все вышеописанные опции безукоризненно, за исключением уведомлений некоторых приложений, упорно не желающих менять свой цвет. При этом системная панель некуда не исчезает и работает как прежде, но только в случае Android 5.0 или выше. В принципе, это даже удобно.
Теперь о нагрузке на систему. Status потребляет в пределах 110 МБ ОЗУ, нагружая процессор на 0,5%. Аккумулятор при этом расходуется на 13,6% со скоростью энергопотребления в почти 70 мВт. В общем, не рекомендую часто менять местами значки и настраивать цвета иконок, иначе нагрузка увеличится в разы, благо среднечасовой расход равен 1,5%.
Приложение ожидаемо совместимо с Android 4.1 или выше, весит в системе всего 10,5 МБ, не содержит рекламы и распространяется бесплатно. Вирусов не обнаружено (проверено Dr.Web и Zillya!). Разрешений немного, но все по делу. Интересно, что разработчик объясняет использование GPS необходимостью в изменении статуса значка. С трудом, но можно поверить.
- Оценка автора: 5.0
- Оценка в Google Play: 4.2
- Разработчик: James Fenn (независимый разработчик)
- Последнее обновление: от 03 декабря 2016
- Версия приложения: 2.9
- Количество загрузок в Google Play: 100 000-500 000
- Совместимость приложения с Android: 4.1 или более поздняя
- Размер в установленном состоянии: 10,5 МБ
- Максимальная нагрузка на систему CPU/RAM: 0,5%/110 МБ
- Максимальный расход заряда аккумулятора: 13% (70 мВт)
- Покупки в приложении: нет
- Реклама: нет
- Полная кастомизация статус-бара и панели уведомлений
- Анимация с тонкой настройкой цвета и размера иконок
- Разумная нагрузка на систему
- Произвольное отображение элементов в статус-баре
- Возможность регулировки времени отображения уведомлений
- Настройка цвета приложений работает не на всех уведомлениях
- Английский интерфейс
Energy Bar
Разработчик из Индии представил свое видение статус-бара для Android. Программа объединяет в себе некоторые возможности Status и Material Status Bar Notific, но настраивается более наглядно и просто, чем конкуренты. Так, доступно параметризировать отображение иконок на панели и сменить стиль значков, есть анимация зарядки, а также еще парочка своих фишек, с которыми мы сейчас и разберемся.
Energy Bar сразу берет быка за рога, предлагая настроить программу как угодно, однако прежде необходимо выдать соответствующие разрешения.
Интерфейс программы однооконный (с пролистыванием вниз) и английский, однако интуитивно понятный, поэтому разобраться будет несложно. Панель уведомлений и статус-бар настраиваются отдельно. Для последнего случая доступно выбрать положение на экране, установить анимацию, а также тонко отрегулировать цвет или выбрать одну из предустановленных тем оформления. Принцип параметризации аналогичен тому же Status, поэтому повторяться не буду. Не обошлось и без рекламы, которую можно отключить за 112 руб.
Отцентрировать панель уведомлений нельзя, зато можно достаточно тонко настроить ее цвет. Промаркировать цветами приложения также невозможно, зато доступно выбрать «окрас» в формате HSV или RGB, а также вбить его код.
При этом Energy Bar актуален только для четвертой версии Android – в более поздних версиях он кастомизирует через раз, а иногда только после перезагрузки. Сама задумка этого легкого приложения интересна, однако, как оказалось, она пребывает пока только в бета-версии. В таком случае непонятна жадность разработчиков, которые за сырую программу уже требуют деньги.
Нагрузка на систему при всей красоте приложения радует – 42 МБ ОЗУ и ноль на процессоре. Аккумулятор проседает всего на 2% за день со скоростью энергопотребления в 18 мВт, а среднечасовой расход равен 0,2%. Подумай ребята о нормальной совместимости и работе без багов, цены этому статус-бару не было бы.
Программа совместима с Android 2.3.3 или выше, но с последними редакциями ОС бывают проблемы. При этом на диске она занимает 10 МБ, содержит рекламу и предполагает покупку pro-версии, которая ее отключает. Вирусов не обнаружено (проверено Dr.Web и Zillya!). Из разрешений – ничего криминального (можно сказать, их практически нет).
- Оценка автора: 3.0
- Оценка в Google Play: 4.3
- Разработчик: IJP (Индия)
- Последнее обновление: от 20 января 2017
- Версия приложения: EB_6.2.2_BETA
- Количество загрузок в Google Play: 500 000-1 000 000
- Совместимость приложения с Android: 2.3.3 или более поздняя
- Размер в установленном состоянии: 10 МБ
- Максимальная нагрузка на систему CPU/RAM: 0,0%/42 МБ
- Максимальный расход заряда аккумулятора: 2% (18 мВт)
- Покупки в приложении: да (pro-версия)
- Реклама: да
- Полная кастомизация статус-бара и панели уведомлений
- Анимация с тонкой настройкой цвета и размера иконок
- Минимальная нагрузка на систему
Немецкое приложение предлагает освободить рабочий стол путем перемещения всех иконок в статус-бар. При этом лишние и неиспользуемые элементы из него можно удалить, а панель уведомлений настраивается как вашей душе угодно. Из особенностей – поддержка умных часов, с помощью голосовых команд на которые доступно переводить смартфон в беззвучный режим и заблокировать экран, а также включить фонарик. В общем, довольно интересное (на первый взгляд) решение, с которым определенно стоит разобраться.
Notification Toggle частично переведен на русский, но достаточно грамотно, поэтому разобраться с программой будет несложно. Причем интерфейс реализован довольно интересно – всего четыре окна, переключаемых свайпами. В правом верхнем углу – настройки и просьба пожертвовать малую сумму на развитие. Сама программа распространяется бесплатно, однако предполагает покупку дополнительной опции, позволяющей добавлять дополнительные ярлыки приложений в статус-бар. Стоит это удовольствие всего 81,42 руб. (на момент написания статьи).
В настройках можно выставить приоритет для уведомлений, изменить значок батареи на значок ее температуры или день месяца. При этом никто не мешает настроить второй значок, так что избавляться от показателей уровня заряда не обязательно. Ниже выбирается количество переключателей на строку и устанавливается значение ползунка яркости. Есть возможность выбрать программу-будильник, которая будет открываться при тапе на переключатель, а также назначить плеер, которому будет предоставлен доступ к клавишам управления. Дабы не настраивать все заново в случае переустановки системы, предусмотрен бэкап программы на SD-карту.
Параметризация знаков в статус-баре довольно щепетильна и потребует определенного количества времени. Доступно активировать дополнительные функции – например, добавить отдельную кнопку для точки доступа или Bluetooth-тетеринга. По аналогичному принципу настраиваются звук, сети, режим дисплея и т. д.
Ярлык приложения в статус-баре представляет конкретную опцию или саму программу. Проблем с данным инструментом не возникло, а вот смена индикатора батареи или часов происходит через раз. Цвет фона значка назначается индивидуально – можно выставить его максимальный размер или сменить иконку представления. Выбор, конечно, невелик, но все-таки. Жаль, что местоположение элементов изменить нельзя, зато меняется порядок самих переключателей.
Из прочих особенностей – возможность прописать статусные названия (например, для Wi-Fi), предварительно установив кегль и размер шрифта. Здесь открывается простор для фантазии, и вы наверняка удивите друзей столь необычным для стандартной прошивки решением.
Синхронизация и доступ к программе через Android Wear параметризуется отдельно.
Notification Toggle потребляет 75 МБ оперативной памяти, нагружая процессор до 0,02% (то есть практически не нагружая). Батарея при этом расходуется на 0,8%, скорость энергопотребления равна 3,3 мВт. Да, код оптимизирован нормально, хотя многофункциональной программу все равно не назовешь. Часовой расход находится на уровне 0,6%.
Приложение выборочно к версии Android, но на четвертой ее редакции работает без проблем, чего не скажешь о пятой и шестой версии ОС, где встречаются баги. Вирусов не обнаружено (проверено Dr.Web и Zillya!). С разрешениями все в порядке. Также в статус-баре нет рекламы, однако предполагается покупка некоторых опций.
- Оценка автора: 4.0
- Оценка в Google Play: 4.4
- Разработчик: j4velin (Германия)
- Последнее обновление: от 20 января 2017
- Версия приложения: 3.6.6
- Количество загрузок в Google Play: 1 000 000-5 000 000
- Совместимость приложения с Android: зависит от устройства
- Размер в установленном состоянии: 7 МБ
- Максимальная нагрузка на систему CPU/RAM: 0,02%/75 МБ
- Максимальный расход заряда аккумулятора: 0,8% (3,3 мВт)
- Покупки в приложении: да (доп. опции)
- Реклама: нет
- Полная кастомизация статус-бара
- Возможность изменять статус программ
- Минимальная нагрузка на систему
- Возможность перенести софт с рабочего стола в статус-бар
- Нестабильно работает на Android 5.0 или выше
- Нет возможности настроить панель уведомлений
Что выбрать?
Рассмотренные нами четыре приложения можно условно разделить на две категории – «Статус-бары для всех версий Android» и «Статус-бары только для Android 4.0-4.4». Причем первые расходуют батарею интенсивней вторых, зато работают на ура и позволяют полностью перевернуть с ног на голову трей и панель уведомлений. Как вы уже, наверное, догадались, в первую категорию вошли Material Status Bar Notific и Status, во вторую – Energy Bar и Notification Toggle. Другими словами, первая пара – для всех устройств, вторая – для устаревших или устаревающих. Выгоднее всего выглядит понятный Material Status Bar Notific, а вот Status проигрывает в качестве настройки, хотя по функционалу они практически идентичны. Эти два решения оптимальны для всех, а выбор конкретного приложения зависит от предпочтений.
Что до Energy Bar и Notification Toggle, то первое решение пока отставляем в сторону и ждем, когда индийцы доведут его до ума, а второе устанавливаем в том случае, если вам необходимо упорядочить ярлыки программ в одном месте, попутно поколдовав с системными значками.
Источник