Как изменить цвет navigation bar android studio

Изменить цвет значка панели навигации в шаблоне Android Studio по умолчанию

Новый шаблон действия по умолчанию для навигационного ящика в Android Studio

Определяет заголовки и значки в файле меню activity_main_drawer следующим образом:

Первый элемент в моем примере использует красный значок:

Но когда я запускаю приложение, цвет значка остается черным. Я тестировал это для синих, зеленых, желтых и фиолетовых значков, но результат тот же.

Я где-то читал, что панель инструментов должна использовать ThemeOverlay.AppCompat.Dark.ActionBar , и мое приложение уже использует это в файле styles.xml :

И применили тему к макету панели приложений, поэтому программная цепочка цветов не работала.

Итак, попробуйте удалить все примененные стили , если вы не можете изменить цвет значка, а затем попробуйте указанные выше решения.

На основе комментариев @ojonugwa ochalifu и @ MD,

Вы можете добиться этого, написав app:itemIconTint , но если вы напишете это, цвет значков ящиков навигации также изменится. Простое и легкое решение, которое я нашел после большого количества исследований и разработок, заключается в том, что вы определили #FFE730 в теме AppBarLayout или, если вы используете Toolbar только без AppBarLayout , вы также можете напишите #FFE730 в теме или popupTheme из Toolbar в своем xml.

Это также изменит цвет стрелки назад для активности.

Надеюсь, это поможет вам всем, кто сталкивается с подобными проблемами.

Если вы хотите установить его динамически, вы можете использовать:

Источник

Android леденец изменить цвет панели навигации

в моем приложении мне нужно изменить цвет нижней панели навигации. Я смотрел много сообщений, но не могу найти решение. Я использую библиотеку appCompat. Нужна помощь, пожалуйста. Спасибо заранее.

v21 / стили.в XML

6 ответов

Это можно сделать внутри стили.в XML используя

обратите внимание, что метод был введен в Android Lollipop и не будет работать на API версии

второй метод (работает на KitKat) — установить windowTranslucentNavigation в true в манифесте и поместить цветной вид под навигационная панель.

вот как это сделать программно:

использование библиотеки Compat:

вот как это сделать с xml в значениях-v21 / style.папка xml:

вот несколько способов изменить цвет панели навигации.

по XML

1-значения-v21 / style.в XML

или если вы хотите сделать это только с помощью значений/ папка затем-

2 — значения/стиль.в XML

вы также можете изменить цвет панели навигации По Программированию.

С Помощью Compat Библиотека —

вы можете добавить следующую строку значения-v21 / style.в XML:

вы можете изменить его напрямую в стили.в XML файл \app\src\main\res\values\styles.в XML

эта работа над старыми версиями, я менял ее в KitKat и пришел сюда.

вы также можете изменить свою тему с помощью редактора тем, нажав:

Инструменты — > Android — > Редактор Тем

тогда вам даже не нужно добавлять дополнительный контент в свой .xml или .файл класса.

Источник

Цвет фона элемента меню навигации для выбранного элемента

Я использовал Android Studio для реализации навигационного ящика, и я не могу получить синий цвет, который используется для отображения раздела, в котором мы сейчас находимся.

Читайте также:  Как убрать строку поиска гугл с экрана андроид one

Я пробовал много вещей, в настоящее время я использую listSelector, который выглядит так:

Я также попробовал state_checked . state_pressed работает в этой ситуации, но state_pressed выбранный элемент по-прежнему остается синим.

EDIT: Я изучал это больше, и когда создается адаптер, передается getActionBar().getThemedContext() поэтому я думаю, что если я найду подходящий атрибут для привязки к моему стилю действия, я могу его изменить оттуда. Я пробовал несколько разных атрибутов без везения. Кто-нибудь знает точный атрибут?

В основной части моей темы и измените getActionBar().getThemedContext() для getActivity.getBaseContext тогда я могу изменить цвет, но я не думаю, что это правильный путь. Я думаю, что тематический контекст должен использоваться. Поэтому, если кто-нибудь знает, где можно activatedBackgroundIndicator getActionBar.getThemedContext() чтобы он использовался в getActionBar.getThemedContext()

Таким образом, текстовое представление, используемое для списка, является одним из SDK, которое выглядит так:

Поэтому я попытался изменить «?android:attr/activatedBackgroundIndicator» на уровне темы, но он не влияет на check / selected / activated, но для нажатых. Кто-нибудь знает, почему это? И как я могу это изменить?

Для решения этой проблемы:

1- Вам не нужен андроид: listSelector под вашим ListView.

2- Открыть (или Создать) styles.xml в (res / values).

3- Под папкой res / drawable создайте файл drawer_list_selector.xml

4- Под res / drawable создайте red_color.xml / light_gray_color.xml (или любое другое имя) и добавьте нужный цвет Hex:

5- Откройте ваш проект AndroidManifest.xml и добавьте тег android: theme (если не существует)

Ссылка / Кредит: изменение навигационного ящика Выбранный цвет элемента по умолчанию по умолчанию

Вот как я это сделал, и он работает, краткая концепция поддерживает позицию выбранного элемента в адаптере и вызывает notifyDataSetChanged при вызове getView метод getView вызывается снова и в режиме просмотра проверяет позицию в выбранной позиции, меняет вид фона , Вот код:

Адаптер просмотра NavigationDrawer List

В вашей деятельности сделайте это

Если кто-то все равно столкнется с трудностями, не стесняйтесь спрашивать.

У меня есть меню ящиков с пользовательским классом адаптера. Может быть, это поможет кому-то в списке ящиков

drawer_list_item.xml

menu_selector.xml

Добавьте это в элемент списка списка listview yourlistview.setItemChecked (position, true);

Чтобы изменить цвет фона элемента меню « Передвижной ящик для выбранного элемента », вы можете сделать это с атрибутом:

В вашем « styles.xml » это может выглядеть так:

Не забудьте применить свой стиль в теге :

Например, в вашем файле activity_main.xml он может выглядеть так:

Это работает для меня:

Сначала определите item_bg.xml как:

Затем используйте этот drawable в navigation_main_layout.xml как:

В дополнение к предоставлению настраиваемого селектора, предназначенного для listSelector, вы также должны установить фоновый ресурс элемента списка на аналогичный селектор, который имеет разные чертежи для разных состояний.

Обычно я использую свой пользовательский адаптер, который имеет поле выбора int и функцию setSelection (int). И в функции getView я устанавливаю фон представления в соответствии с выбором position ==.

Все еще не уверен, почему это не работает. Но способ, которым я нашел это, – использовать мой собственный simple_list_item_activated макет, который должен быть передан в ArrayAdapter, который был в основном тем же, за исключением того, что цвет текста был белым. Затем я заменил getActionBar().getThemedContext() с getActivity().getBaseContext() и теперь он имеет эффект.

Читайте также:  Настройка звука для наушников андроид

Это может быть неправильным и может иметь последствия в будущем, но на данный момент я работаю так, как хочу.

Я знаю его слишком поздно, но я решил эту проблему в своем приложении.

Pls не думает, что это глупо, просто измените положение «state_pressed» на верх.

В будущем, если кто-нибудь сюда придет, работа с навигационным ящиком (предоставляется в окне «Студия в окне активности»)

Используйте это до OnCreate () в MainActivity

И используйте это в onNavigationItemSelected () в MainActivity (вам не нужно писать эту функцию, если вы используете активность навигационного ящика, она будет добавлена ​​в MainActivity).

Совет – добавьте этот код до If else else Условие в onNavigationItemSelected ()

Это сработало для меня: реализовал ящик меню, не заполнив навигационное представление списком, но с элементами меню.

Создал такой способ:

И в методе onCreate задайте идентификатор элемента меню, который соответствует выбранному действию, как отмечено. И реализуйте переносимый файл селектора в свой навигационный ящик, как это

Fyi: нужно определить ваше пространство имен «приложение».

Источник

Изменить цвет панель навигации в Studio по умолчанию в Android шаблон

Новый по умолчанию панель навигации шаблона в Android студия

определяет его титулы и значки в меню «Файл» activity_main_drawer-то вроде этого:

Первым пунктом в моем примере используется красный значок:

но когда я запускаю приложение, цвет значка остается черным.Я испытал это на синий, зеленый, желтый и фиолетовый иконки, но результат тот же.

Я где-то читал, что на панели инструментов следует использовать ThemeOverlay.Совместимости приложений.Темно.Верхней панели и мое приложение уже использует это в файл styles.xml`:

и в вашей теме, добавьте эту строку:

На основе @ojonugwa ochalifu и @МД’ы комментарий

Вы можете добиться, написав приложение:itemIconTint но если ты пишешь это, значок навигации ящиками цвет также будет изменен. Простой и простое решение, которое я нашла после долгих НИОКР является то, что вы уже определились, в #FFE730 в теме AppBarLayout или если вы используете панели инструментов только без AppBarLayout, вы можете также написать в #FFE730 в тему или popupTheme из инструментов в XML.

При этом изменяется цвет активности’s назад со стрелками, а также.

Надеюсь, это поможет вам всем, кто столкнулся с такого рода проблемы.

Источник

Как изменить цвет фона в меню панели действий в Android 4.2?

Я хотел бы изменить цвет фона меню option (overflow) в Android 4.2. Я пробовал все методы, но он по-прежнему показывает цвет по умолчанию задается тема. Я использовал следующий код и XML конфиги.

MainActivity.java

цвета.xml

выше setMenuBackground не принимает никаких эффект:

на картинке выше, Я хочу изменить фон в меню с черного на синий цвет в панели действий. Как я могу достичь этого, и что я сделал неправильно?

14 ответов:

существует простой способ изменить цвета в Actionbar Используйте Генератор ActionBar скопировать и вставить все файлы в папке res папка и изменить тему в Android.файл манифеста.

The Генератор Стиля Панели Действий,предложено Солнечный, очень полезно, но он генерирует много файлов, большинство из которых не имеют значения, если вы только хотите изменить цвет фона.

Итак, я углубился в zip, который он генерирует, и попытался сузить, какие части имеют значение, поэтому я могу внести минимальное количество изменений в свое приложение. Ниже то, что я узнал.

Читайте также:  Как сделать видеовызов андроид

In генератор стиля, соответствующая настройка цвет всплывающего окна, который влияет на «переполнение меню, подменю и фон панели spinner».

продолжайте и создайте zip, но из всех созданных файлов вам действительно нужно только одно изображение, menu_dropdown_panel_example.9.png , который выглядит примерно так:

Итак, добавьте различные версии разрешения в res/drawable-* . (И, возможно, переименовать им до menu_dropdown_panel.9.png .)

затем, в качестве примера, в res/values/themes.xml у вас будет следующее, С android:popupMenuStyle и android:popupBackground ключевое параметры.

и, конечно, в AndroidManifest.xml :

что вы получаете с этой установкой:

обратите внимание, что я использую Theme.Holo.Light в качестве базовой темы. Если вы используете Theme.Holo (Holo Dark), есть дополнительный шаг нужен как этот ответ описывает!

кроме того, если вы (как и я) хотели, чтобы стиль всей панели действий, а не только в меню, поставить что-то вроде этого в res/drawable/blue_action_bar_background.xml :

отлично работает, по крайней мере, на Android 4.0+ (уровень API 14+).

в случае, если люди все еще посещают для рабочего решения, вот что сработало для меня:— это для библиотеки поддержки Appcompat. Это в продолжение к верхней панели стайлинга пояснил, что

Ниже приведены стили.XML-файл.

и вот как это выглядит—MenuItem цвет фона skyblue и MenuItem цвет текста розовый с textsize как 25sp:—

Если Вы читаете это, это наверное, потому, что все предыдущие ответы не работает для Холо Темный тема.

Holo Dark использует дополнительную обертку для PopupMenus, поэтому после выполнения что Jonik предложил вы должны добавить следующий стиль в ваш ‘ xml ‘ файл:

затем ссылайтесь на него в своем тематическом блоке:

мой простой трюк, чтобы изменить цвет фона и цвет текста во всплывающем меню / меню опций

вы можете применять стили и темы в переполнении меню, как показано ниже. Меню переполнения-это ListView, поэтому мы можем применить тему в соответствии с listview.

применить ниже код в стилях.xml

в случае, если вы работаете в последней панели инструментов в android studio, то вот самое маленькое решение Чтобы изменить цвет меню параметров панели инструментов, добавьте его в элемент панели инструментов

тогда в ваших стилях.xml определяет стиль всплывающего меню

обратите внимание, что вам нужно использовать colorBackground не фон. Последний будет применяться ко всему (само меню и каждый пункт меню), Первый применяется только к всплывающему меню.

я смог изменить цвет переполнения действия, просто поставив шестнадцатеричное значение в:

Я также поражен этой же проблемой, наконец, я получил простое решение. просто добавил одну строку в стиль панели действий.

«android: colorBackground» достаточно изменить фон меню опций

затем добавьте эти конкретные стили в свои стили AppTheme

попробуйте этот код. Добавьте этот фрагмент в res>values > styles.xml

и в Манифесте.xml добавить ниже фрагмент под приложением

добавить следующий код Styles.xml

изменить тему в activity_main.xml только.

Ниже приведены изменения, необходимые в вашей теме для изменения цвета фона панели действий и меню переполнения. Вам нужно настроить «android: фон» actionBarStyle & popupMenuStyle

Источник

Оцените статью