Hirdesh Vishwdewa Hirdesh Vishwdewa - 6 months ago 157
Android Question

android: dynamically change FAB(Floating Action Button) icon from code

How to change FAB icon in an Activity during runtime. I have this code ->

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


I know this is possible using
fab.setBackgroundDrawable();
but i am a newbie to android, don't understand how to do this.

Any help will be highly appreciated.

Thanks

Answer

Changing FloatingActionButton source:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            floatingActionButton.setImageDrawable(getResources().getDrawable(R.drawable.ic_full_sad, context.getTheme()));
        } else {
            floatingActionButton.setImageDrawable(getResources().getDrawable(R.drawable.ic_full_sad));
    }

This can be replaced by following code from the support library instead:

floatingActionButton.setImageDrawable(ContextCompat.getDrawable(getContext(), R.drawable.ic_full_sad));