I rotate the FAB in such a simple way:
fab.startAnimation(AnimationUtils.loadAnimation(this, R.anim.rotate));
rotate.xml:
There's an entirely another approach that works flawlessly for me (the one suggested in the accepted answer produces a clipped shadow on pre-L). Create an XML drawable and wrap your FAB icon into a
tag like this:
Set this drawable to your FAB, and animate either its level directly or the imageLevel
property of the FAB itself; it goes from 0 to 10000. If you'd like an OvershootInterpolator
, then set toDegrees
to 90 and animate the level up to the value of 5000 so it doesn't go beyond the bounds.