J'ai intégré la barre de navigation de la barre inférieure sur mon application. Mais quand je glisse, la couleur de l'onglet ne change pas. C'est bizarre parce que j'ai un fichier de sélection. Une idée pour résoudre ce problème?
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" />
Passez à app:itemIconTint="@drawable/selector"
Modifiez également votre selector.xml
pour ça:
<?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>
Vous devez définir le sélecteur comme itemIconTint de votre BottomNavigationView. Quelque chose comme
<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" />
Vous devez l'ajouter dans votre BottomNavigationView
Android:theme="@style/Base.ThemeOverlay.AppCompat.Dark.ActionBar"
Cela vous aidera à changer la couleur de l'icône.