BottomNavigationBar - change the color of the tab icon

I integrate the bottom bar navigation bar into my application. But when I sit down, the color of the tab does not change. This is strange because I have a selector file. Any idea to solve this problem?

Activity.java

BottomNavigationView bottomNavigationView = (BottomNavigationView) findViewById(R.id.bottom_navigation); bottomNavigationView.setOnNavigationItemSelectedListener( new BottomNavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { switch (item.getItemId()) { case R.id.bb_menu_arac: fragment = new AraclarimFragment(); break; case R.id.bb_menu_yaklasan: fragment = new YaklasanlarFragment(); break; case R.id.bb_menu_yakin: fragment = new Yakinimdakiler(); break; } final FragmentTransaction transaction = fragmentManager.beginTransaction(); transaction.replace(R.id.main_container, fragment).commit(); return true; } }); 

selector.xml

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="@color/beyaz" android:state_enabled="true" /> <item android:color="@color/colorPrimaryDark" android:state_enabled="false" /> </selector> 

activiy.xml

 <android.support.design.widget.BottomNavigationView android:id="@+id/bottom_navigation" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom|end" app:itemBackground="@color/colorPrimary" app:itemIconTint="@color/beyaz" app:itemTextColor="@color/beyaz" app:menu="@menu/bottombar_menu" /> 
+5
source share
3 answers

Change to app:itemIconTint="@drawable/selector"

Also change selector.xml to this:

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

You must set the selector as itemIconTint of your BottomNavigationView. Sort of

  <android.support.design.widget.BottomNavigationView android:id="@+id/bottom_navigation" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom|end" app:itemBackground="@color/colorPrimary" app:itemIconTint="@drawable/selector" app:itemTextColor="@color/beyaz" app:menu="@menu/bottombar_menu" /> 
0
source

You need to add this to your Android BottomNavigationView file: theme = "@ style / Base.ThemeOverlay.AppCompat.Dark.ActionBar", this will help you change the color of the icon

0
source

Source: https://habr.com/ru/post/1264455/


All Articles