Так бывает складывается что нужно поменять полностью цвет Action bar'a, табов под ним и меню, да и всего на свете. Так вот это оказывается не так то просто (: Я проковырялся дня два пока разобрался со всем этим, и вот сегодня я хочу вам рассказать как да что нужно сделать что бы изменить цвет Action bar'a, табов и popup menu.
Менять мы будем на синий цвет но для начала я хочу вам рассказать о таком замечательном ресурсе который позволяет одним махом заменить все и сразу, он называется Android Action Bar Style Generator, с его помощью вы можете создать нужный вам стиль, и скачать его. После вам остается только распаковать в нужные папки все файлы которые там есть и заменить стиль в манифесте на созданный вами… И все, дальше андроид сам подхватит этот стиль и будет его использовать как дефолтный.
Ну а теперь перейдем к моему варианту того как я менял цвет.
Для начала создадим файл res/values/color.xml в котором будем хранить все нужные нам коды цветов.
Для того что бы изменить цвет Action bar'a, вам нужно создать в файле res/values/style.xml, подгруппу в которой переопределим наш цвет. Для начала посмотрим как выглядит не тронутый style.xml.
Что тут можно сказать… Ничего (: Так выглядит стандартный стиль темы в андроиде, для того что бы изменить цвет мы добавляем новый стиль:
Таким образом мы задаем что фон у экшен бара будет нашего цвета тобиш синего.
Теперь нам нужно задать этот стиль экшен бару по дефолту, для этого в AppTheme пишем следующее:
Компилируем и смотрим что получилось, если ActionBar покрасился в выбранный нами цвет то вы все сделали правильно.
Что получилось:
Конечный вид:
Для того что бы подкрасить табы в нужный нам цвет достаточно просто добавить еще одну строчку в стиль ActionBar.
Теперь табы будут того цвета которого вы задали для пол tabs_color в файле colors.xml.
Что получилось:
Конечный вид:
С меню оказалось все немного сложнее чем я думал, сходу сделаться оно нужного мне цвета не хотелось поэтому я начал перебирать исходник стиля с сайта что я указал в начале статьи, ведь у них получилось, почему у меня не получается, и все таки нашел где же это делается.
Создаем новый стиль и указываем в нем цвет
Далее описываем его в AppTheme стиле который мы используем как родительский.
Но это еще не все, для того что бы этот стиль применялся нам нужно описать еще один дочерний стиль который будет задавать стиль конкретно для меню.
Что получилось:
Конечный вид:
Вот собственно и все что я хотел рассказать, для меня лично это оказалось проблемой по этому я решил описать ее решение сюда, может кому пригодится, а может сам забуду и буду по ней вспоминать что да как (:
Менять мы будем на синий цвет но для начала я хочу вам рассказать о таком замечательном ресурсе который позволяет одним махом заменить все и сразу, он называется Android Action Bar Style Generator, с его помощью вы можете создать нужный вам стиль, и скачать его. После вам остается только распаковать в нужные папки все файлы которые там есть и заменить стиль в манифесте на созданный вами… И все, дальше андроид сам подхватит этот стиль и будет его использовать как дефолтный.
Ну а теперь перейдем к моему варианту того как я менял цвет.
Для начала создадим файл res/values/color.xml в котором будем хранить все нужные нам коды цветов.
ActionBar
Для того что бы изменить цвет Action bar'a, вам нужно создать в файле res/values/style.xml, подгруппу в которой переопределим наш цвет. Для начала посмотрим как выглядит не тронутый style.xml.
Что тут можно сказать… Ничего (: Так выглядит стандартный стиль темы в андроиде, для того что бы изменить цвет мы добавляем новый стиль:
Таким образом мы задаем что фон у экшен бара будет нашего цвета тобиш синего.
Теперь нам нужно задать этот стиль экшен бару по дефолту, для этого в AppTheme пишем следующее:
Компилируем и смотрим что получилось, если ActionBar покрасился в выбранный нами цвет то вы все сделали правильно.
Что получилось:
Конечный вид:
TabView
Для того что бы подкрасить табы в нужный нам цвет достаточно просто добавить еще одну строчку в стиль ActionBar.
Теперь табы будут того цвета которого вы задали для пол tabs_color в файле colors.xml.
Что получилось:
Конечный вид:
Popup Menu
С меню оказалось все немного сложнее чем я думал, сходу сделаться оно нужного мне цвета не хотелось поэтому я начал перебирать исходник стиля с сайта что я указал в начале статьи, ведь у них получилось, почему у меня не получается, и все таки нашел где же это делается.
Создаем новый стиль и указываем в нем цвет
Далее описываем его в AppTheme стиле который мы используем как родительский.
Но это еще не все, для того что бы этот стиль применялся нам нужно описать еще один дочерний стиль который будет задавать стиль конкретно для меню.
Что получилось:
Конечный вид:
Вот собственно и все что я хотел рассказать, для меня лично это оказалось проблемой по этому я решил описать ее решение сюда, может кому пригодится, а может сам забуду и буду по ней вспоминать что да как (:
Комментариев нет:
Отправить комментарий