web-dev-qa-db-fra.com

Comment changer la couleur de l'icône sélectionnée dans la barre de navigation inférieure dans Android studio

Lorsque je sélectionne un élément dans la barre de navigation inférieure dans Android studio, l'élément d'arrière-plan sélectionné est égal à primarycolor dans values-> colors.xml. Et maintenant je veux changer cette couleur qui n'est pas la même la couleur primaire. comment puis-je la changer?

    private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
            = new BottomNavigationView.OnNavigationItemSelectedListener() {
        Fragment fragment;
        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem item) {
            switch (item.getItemId()) {
                case R.id.navigation_home:
                    fragment = new HomeFragment();
                    loadFragment(fragment);
                    return true;
                case R.id.navigation_addpost:
                    fragment = new AddFragment();
                    loadFragment(fragment);
                    return true;
                case R.id.navigation_notifications:
//                    mTextMessage.setText(R.string.title_notifications);
                    return true;
                case R.id.navigation_profile:
                    fragment = new ProfileFragment();
                    loadFragment(fragment);
                    return true;
            }
            return false;
        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        loadFragment(new HomeFragment());
        BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
        navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
        navigation.setItemTextColor(ColorStateList.valueOf(Color.RED));
    }
3
Hasan Cheraghi

Pour modifier la couleur de l'icône de l'onglet sélectionné dans BottomNavigationView, vous devez utiliser le sélecteur.

Créer bottom_navigation_selector.xml

<?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/yourSelectedColor" />
<item Android:color="@color/defaultColor"  />
</selector>

Appliquer app:itemIconTint="@drawable/bottom_navigation_selector" à votre BottomNavigationView dans le fichier xml.

4
Chandan Sharma
bottomNavigationView.setItemIconTintList(ColorStateList.valueOf(Color.parseColor("#3F51B5")));
0
Ahmed Belmekhfi

Essayer,

navigation.setItemIconTintList(Color.BLUE);

Mettre à jour :

navigation.setItemIconTintList(Color.parseColor("#fafafa"));
0