2017-02-20 12 views
5

Integruje pasek nawigacji Dolny pasek na mojej aplikacji. Ale gdy przeciągam, kolor tabulatora się nie zmienia. To dziwne, ponieważ mam plik selektora. Jakiś pomysł na rozwiązanie tego problemu?BottomNavigationBar - zmień kolor ikony karty

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" /> 
+0

Gdzie użyłeś selektora.xml? –

+0

Napisałeś w kodzie, który ** androida: state_enabled ** zamiast ** android: state_enabled ** ?? Czy to sprawia problem? – Queendevelopers

+0

Oczywiście nie, napisałem to przypadkowo. Zaktualizowano teraz. @Queendevelopers –

Odpowiedz

6

Zmiana app:itemIconTint="@drawable/selector"

zmienić także swój selector.xml do tego:

<?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> 
+0

Dziękuję, proszę pana. –

+0

Nie trzeba Sir. Witamy –

+0

Fuj, nawyki :)) –

0

Musisz ustawić selektor jako itemIconTint swojego BottomNavigationView. Coś jak

<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

Dziękuję, proszę pana. Ale muszę trochę zmienić plik selector.xml. Dzięki jeszcze raz. –

0

Trzeba dodać to w BottomNavigationView android: theme = "@ Styl/Base.ThemeOverlay. AppCompat.Dark.ActionBar "pomoże ci zmienić kolor ikony