2017-06-13 4 views
2

Ich habe meine bottomNavigationView:BottomNavigationView Ursprüngliche Iconfarbe

enter image description here

Und ich hinzugefügt, um diese Klasse zu verhindern, dass shiftingMode tun:

public class BottomNavigationViewHelper { 
    public static void disableShiftMode(BottomNavigationView view) { 
     BottomNavigationMenuView menuView = (BottomNavigationMenuView) view.getChildAt(0); 
     try { 
      Field shiftingMode = menuView.getClass().getDeclaredField("mShiftingMode"); 
      shiftingMode.setAccessible(true); 
      shiftingMode.setBoolean(menuView, false); 
      shiftingMode.setAccessible(false); 
      for (int i = 0; i < menuView.getChildCount(); i++) { 
       BottomNavigationItemView item = (BottomNavigationItemView) menuView.getChildAt(i); 
       //noinspection RestrictedApi 
       item.setShiftingMode(false); 
       // set once again checked value, so view will be updated 
       //noinspection RestrictedApi 
       //item.setChecked(item.getItemData().isChecked()); 
      } 
     } catch (NoSuchFieldException e) { 
      Log.e("BNVHelper", "Unable to get shift mode field", e); 
     } catch (IllegalAccessException e) { 
      Log.e("BNVHelper", "Unable to change value of shift mode", e); 
     } 
    } 

Ich möchte nur die ursprünglichen Symbole Farben zeigen, ohne dieser Selektor, wie kann ich das erreichen?

mein Navigations xml:

<android.support.design.widget.BottomNavigationView 
     android:id="@+id/bottomNavigation" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:menu="@menu/my_navigation_item" 
     android:layout_alignParentBottom="true"/> 

Antwort

14

Sie haben Ihre Artikel Symbol Tönung Liste null, erreichen Sie machen, dass von Ihrem bootomNav:

bottomNavigationView.setItemIconTintList(null); 
+1

Vielen Dank für Ihre Lösung, es funktioniert! Ich habe versucht, hinzuzufügen: app: itemIconTint = "@ null" zu den XML, aber es funktioniert nicht. – NightSkyDev

Verwandte Themen