2017-08-11 5 views
-2

J'ai deux images pouvant être dessinées, initialement FAB est défini sur R.drawable.icon1, je veux le définir sur R.drawable.icon2 en cliquant dessus, et le remettre à icon1 quand en cliquant encore une fois dessus et ainsi de suite ...Activer/désactiver l'icône FloatingActionButton en cliquant dessus

Y at-il un moyen de faire cela?

Toute aide est appréciée!

+0

Voici la méthode de définition de l'icône: fab.setImageDrawable (ContextCompat.getDrawable (getContext(), R.drawable.icon1)); Utilisez un drapeau pour changer d'icône. –

+0

Salut s'il vous plaît suivez ce lien https://stackoverflow.com/questions/43321485/how-to-change-color-of-button-when-being-click-and-revert-back-to-default-color/43322291# 43322291 –

+0

Merci @BharathKumar c'est la façon la plus facile de le faire –

Répondre

1

Espérons que cela aide, nous avons un booléen flag qui indique l'icône actuelle visible dans votre fab.

FloatingActionButton fab; 
boolean flag = true; // true if first icon is visible, false if second one is visible. 

fab = (FloatingActionButton) findViewById(R.id.fab); 

    fab.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      if(flag){ 

       fab.setImageDrawable(ContextCompat.getDrawable(getApplicationContext(), R.drawable.icon2)); 
       flag = false; 

      }else if(!flag){ 

       fab.setImageDrawable(ContextCompat.getDrawable(getApplicationContext(), R.drawable.icon1)); 
       flag = true; 

      } 

     } 
    }); 
+0

Ouais! Je pense que la meilleure façon que vous avez dite est d'utiliser un drapeau booléen. merci @Chirag –