Как изменить цвет значков панели навигации? (Android студия) - PullRequest
0 голосов
/ 07 мая 2018

Чтобы избежать путаницы относительно того, что на самом деле является navigationbar, вот picture

Как видите, я добавил новый цвет вместо стандартного черного, используя:

<item name="android:navigationBarColor">@color/colorBackground</item>

Но значки сейчас почти не видны, поэтому я хотел бы изменить их на черный или хотя бы темный. Я искал SO и WebB, но пришел с пустыми руками. Есть идеи?

Ответы [ 2 ]

0 голосов
/ 07 мая 2018

Вы можете подкрасить значки, как это

Добавьте это к вашему виду навигации

<android.support.design.widget.BottomNavigationView
    android:id="@+id/navigation"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/colorPrimary"
    app:itemIconTint="@drawable/bottom_nav_colors"
    app:itemTextColor="@drawable/bottom_nav_colors"
    app:menu="@menu/bottom_navigation" />

Определите bottom_nav_colors как это

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@color/color1" android:state_checked="true" />
    <item android:color="@color/color2" />
</selector>

Вы можете изменить цвета в своем коде, изменив состояние следующим образом ..

BottomNavigationView mBottomNav = findViewById(R.id.navigation);

mBottomNav.getMenu().getItem(0).setChecked(true);

Или вот так

mBottomNav.setSelectedItemId(0);
0 голосов
/ 07 мая 2018

Вы не можете изменить цвет кнопок самостоятельно. Однако вы можете попытаться установить навигационную панель на true. Следует отметить, что это доступно только с уровня API 27.

windowLightNavigationBar добавлен в API уровень 27

int windowLightNavigationBar

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

Чтобы это вступило в силу, окно должно рисовать системную панель фоны с помощью windowDrawsSystemBarBackgrounds и навигации Бар не должен был просить быть прозрачным с windowTranslucentNavigation. Соответствует настройке SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR в представлении декора.

Может быть логическим значением, например, "true" или "false".

источник

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...