2017-08-11 1 views
-2

Ich habe zwei ziehbar Bilder, zunächst wird FAB auf R.drawable.icon1 gesetzt, will ich es R.drawable.icon2 setzen, wenn Sie darauf klicken, und es zurück zu icon1 Einstellung, wenn noch einmal darauf klicken und so weiter ...Toggle FloatingActionButton Icon, wenn Sie darauf klicken

gibt es eine Möglichkeit, das zu tun?

Jede Hilfe wird geschätzt!

+0

Dies ist die Methode zum Festlegen von Symbol: fab.setImageDrawable (ContextCompat.getDrawable (getContext(), R.drawable.icon1)); einige Flagge Verwenden Sie für das Symbol zu ändern. –

+0

Hallo folgen Sie bitte diesem Link https://stackoverflow.com/questions/43321485/how-to-change-color-of-button-when-being-click-and-revert-back-to-default-color/43322291# 43322291 –

+0

Danke @BharathKumar das ist der einfachste Weg, dies zu tun –

Antwort

1

hoffe, das hilft, haben wir einen Booleschen flag die das aktuelle Symbol sichtbar in Ihrem fab bezeichnet.

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

Ja so ziemlich das gleiche Idee! Ich denke, der beste Weg, wie Sie gesagt haben, ist eine boolesche Flagge zu verwenden. Danke @Chirag –

Verwandte Themen