Цвет выбранной вкладки в нижней навигации

Я добавляю проект BottomNavigationView в проект, и я хотел бы иметь другой цвет текста (и цвет значка) для выбранной вкладки (чтобы добиться эффекта неактивных вкладок). Использование другого цвета с android:state_selected="true" в файле ресурсов селектора цветов, похоже, не работает. Я также попытался иметь дополнительные записи элементов с android:state_focused="true" или android:state_enabled="true" , к сожалению, никакого эффекта. Также попробовал установить для атрибута state_selected значение false (явно) для стандартного (не выбранного) цвета, без везения.

Вот как я добавляю представление в свой макет:

  

Вот мой селектор цвета ( bnv_tab_item_foreground.xml ):

      

И мой ресурс меню ( bottom_nav_bar_menu.xml ):

        

Буду признателен за любую помощь.

При создании selector всегда сохраняйте состояние по умолчанию в конце, иначе будет использоваться только состояние по умолчанию. Вам необходимо изменить порядок элементов в селекторе как:

      

И состояние, которое будет использоваться с BottomNavigationBarstate_checked не state_selected .

1. Внутри res создайте папку с цветом имени (например, с возможностью рисования)

2. Щелкните правой кнопкой мыши папку цветов. Выберите new-> color resource file-> создайте файл color.xml (bnv_tab_item_foreground) (Рисунок 1: Структура файла)

3. Скопируйте и вставьте bnv_tab_item_foreground

  

bnv_tab_item_foreground:

       

Рисунок 1: Структура файла:

Рисунок 1: Структура файла

Попробуйте использовать android:state_enabled а не android:state_selected для атрибутов элемента селектора.

BottomNavigationView использует colorPrimary из темы, примененной для выбранной вкладки. Таким образом, вы можете создать стиль с предпочтительным основным цветом и задать его как тему для вашего BottomNavigationView в файле макета xml.

styles.xml :

   

your_layout.xml :

  
  • Не удается уловить событие нажатия кнопки кнопки панели инструментов
  • Панель не получает фокус
  • Как исправить метод getActionBar может вызвать java.lang.NullPointerException
  • Панель навигации под панелью инструментов
  • Как оживить Burger в Arrow с помощью Appcompat v7 21, панели инструментов и DrawerLayout
  • Как скрыть навигационную панель постоянно в андроид-активности?
  • Изменить размер для строки состояния вызова?
  • как удалить тень под панелью действий с помощью AppCompat.Light.NoActionBar?
  • Interesting Posts

    C ++ где инициализировать статический const

    Как работает аннотация «Spring @ResponseBody» в этом примере приложения RESTful?

    Создание таблицы HTML с SQL FOR XML

    USB-накопитель, как жесткий диск, не съемное устройство хранения данных

    Приложение всегда запускается из корневой активности, а не возобновляет фоновое состояние (известная ошибка)

    Как обновить параметры модели с накопленными gradleиентами?

    Объявление переменной в файле заголовка

    Как я могу поменять местами 2 ints в C #?

    Замените некоторые символы из многих файлов txt в папке

    Как я могу отобразить дополнительную информацию о загрузке и завершении работы на экране приветствия Windows 7?

    Использование jQuery для программного перехода по ссылке

    Как заблокировать всплывающие всплывающие окна в веб-браузере

    Система ( «пауза»); – Почему это неправильно?

    Распределение столбцов Vim 80

    Карта D3.js: как повернуть его?

    Давайте будем гением компьютера.