Цвет выбранной вкладки в нижней навигации
Я добавляю проект BottomNavigationView
в проект, и я хотел бы иметь другой цвет текста (и цвет значка) для выбранной вкладки (чтобы добиться эффекта неактивных вкладок). Использование другого цвета с android:state_selected="true"
в файле ресурсов селектора цветов, похоже, не работает. Я также попытался иметь дополнительные записи элементов с android:state_focused="true"
или android:state_enabled="true"
, к сожалению, никакого эффекта. Также попробовал установить для атрибута state_selected
значение false (явно) для стандартного (не выбранного) цвета, без везения.
Вот как я добавляю представление в свой макет:
Вот мой селектор цвета ( bnv_tab_item_foreground.xml
):
- Как скрыть строку состояния iOS
- Как скрыть навигационную панель постоянно в андроид-активности?
- В каком порядке панели наиболее эффективны с точки зрения времени и производительности?
- Панель c # для рисования графики и прокрутки
- как удалить тень под панелью действий с помощью AppCompat.Light.NoActionBar?
И мой ресурс меню ( bottom_nav_bar_menu.xml
):
Буду признателен за любую помощь.
- Как исправить метод getActionBar может вызвать java.lang.NullPointerException
- Изменение цвета фона отдельных элементов меню навигации
- Панель не получает фокус
- c: forEach внутри перьев (например, p: panelgrid) внутри ui: repeat
- Панель навигации под панелью инструментов
- Не удается уловить событие нажатия кнопки кнопки панели инструментов
- Добавление вертикальной полосы прокрутки в AlertDialog в Android?
- Избегайте панели в autoHide в расширении Firefox
При создании 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 :