Мне нужно реализовать нижнее представление навигации в моем приложении для Android. Средний значок должен быть изображением, логотипом компании. Но когда я запускаю приложение, появляется только серый закругленный значок с закругленными краями. На изображениях выше показано, чего я хочу и что получаю.
Я уже пробовал другие вопросы на этом веб-сайте, но каждый ответ говорит об изменении iconTintList из XML с возможностью рисования, но центральный значок - это вектор с более чем одним цветом.
Когда я попытался установить значение null для метода setIconTintList, он работает для среднего значка, но другие значки тоже меняют на исходный цвет.
//This doesn't work to other icons, only for the middle one
mBottomNav.setItemIconTintList(null);
Я также попытался получить меню и установить список оттенков значков только для среднего, как в приведенном выше коде, но тоже не работает.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
mBottomNav.getMenu().findItem(R.id.nav_buy).setIconTintList(null);
}
Это реализация XML:
<android.support.design.widget.BottomNavigationView
android:id="@+id/bottomNavigationView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="@color/kmv_background"
app:itemIconTint="@drawable/bottom_nav_item_color"
app:itemTextColor="@drawable/bottom_nav_item_color"
app:labelVisibilityMode="labeled"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:menu="@menu/bottom_navigation" />
Это реализация java:
mBottomNav = findViewById(R.id.bottomNavigationView);
mBottomNav.setOnNavigationItemSelectedListener(this);
Спасибо за любую помощь!