Цвет выбранной вкладки в нижней навигации
Я добавляю проект BottomNavigationView
в проект, и я хотел бы иметь другой цвет текста (и цвет значка) для выбранной вкладки (чтобы добиться эффекта неактивных вкладок). Использование другого цвета с android:state_selected="true"
в файле ресурсов селектора цветов, похоже, не работает. Я также попытался иметь дополнительные записи элементов с android:state_focused="true"
или android:state_enabled="true"
, к сожалению, никакого эффекта. Также попробовал установить для атрибута state_selected
значение false (явно) для стандартного (не выбранного) цвета, без везения.
Вот как я добавляю представление в свой макет:
Вот мой селектор цвета ( bnv_tab_item_foreground.xml
):
- как удалить тень под панелью действий с помощью AppCompat.Light.NoActionBar?
- Чат клиента смайликов окно JAVA
- Изменение цвета фона отдельных элементов меню навигации
- Как исправить метод getActionBar может вызвать java.lang.NullPointerException
- Как установить текст панели инструментов и цвет стрелки назад
И мой ресурс меню ( bottom_nav_bar_menu.xml
):
Буду признателен за любую помощь.
- Как скрыть строку состояния iOS
- Как оживить Burger в Arrow с помощью Appcompat v7 21, панели инструментов и DrawerLayout
- Android: как заголовок центра в ToolBar
- Создание SearchView, который выглядит как руководство по разработке материалов
- Панель навигации под панелью инструментов
- self.title устанавливает заголовок navigationController и tabBarItem? Зачем?
- Панель не получает фокус
- Изменить размер для строки состояния вызова?
При создании selector
всегда сохраняйте состояние по умолчанию в конце, иначе будет использоваться только состояние по умолчанию. Вам необходимо изменить порядок элементов в селекторе как:
И состояние, которое будет использоваться с BottomNavigationBar
– state_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: Структура файла:
Попробуйте использовать android:state_enabled
а не android:state_selected
для атрибутов элемента селектора.
BottomNavigationView
использует colorPrimary из темы, примененной для выбранной вкладки. Таким образом, вы можете создать стиль с предпочтительным основным цветом и задать его как тему для вашего BottomNavigationView
в файле макета xml.
styles.xml :
your_layout.xml :