mirror of
https://github.com/material-components/material-components-android.git
synced 2026-02-04 13:53:16 +08:00
When calling both setFabAlignmentMode and replaceMenu, the fab alignment animation and menu animation were not properly coordinating. replaceMenu causes a call to onLayout, which immediately updates the menu's translationX, causeing the menu to jump to its final position. This adds a condition to skip the menu position update if a menu animatior is running. Additionally, the menu's contents were immediately being swapped making the animation look jumpy. This CL also as a method to update the fab alignment and menu resource at the same time so a coordinated animation of: fab scale out/slide start - > menu fade out -> menu replaced -> menu fade in -> fab scale/slide finish, can be run. PiperOrigin-RevId: 316860005