mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-18 18:28:20 +00:00
Animate Folder elevation halfway thru transition.
The current implementation had the Folder elevation animate in after the Folder transition was done completing. To make it appear more smooth, we animate the Folder elevation halfway thru the transition. We will keep the separate FolderIcon shadow fade-in animation on the closing transition otherwise the shadow will be apparent in the "preview." Bug: 62787582 Bug: 35064148 Change-Id: Ifd3d84214b0600b6651005c8e65d90b0d8ade422
This commit is contained in:
@@ -201,20 +201,20 @@ public class FolderAnimationManager {
|
||||
play(a, new RoundedRectRevealOutlineProvider(initialRadius, finalRadius, startRect,
|
||||
endRect).createRevealAnimator(mFolder, !mIsOpening));
|
||||
|
||||
// Animate the elevation midway so that the shadow is not noticeable in the background.
|
||||
int midDuration = mDuration / 2;
|
||||
Animator z = getAnimator(mFolder, View.TRANSLATION_Z, -mFolder.getElevation(), 0);
|
||||
play(a, z, midDuration, midDuration);
|
||||
|
||||
a.addListener(new AnimatorListenerAdapter() {
|
||||
@Override
|
||||
public void onAnimationEnd(Animator animation) {
|
||||
super.onAnimationEnd(animation);
|
||||
mFolder.setTranslationX(0.0f);
|
||||
mFolder.setTranslationY(0.0f);
|
||||
mFolder.setTranslationZ(0.0f);
|
||||
mFolder.setScaleX(1f);
|
||||
mFolder.setScaleY(1f);
|
||||
|
||||
if (mIsOpening) {
|
||||
getAnimator(mFolder, View.TRANSLATION_Z, -mFolder.getElevation(), 0)
|
||||
.setDuration(150)
|
||||
.start();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -323,7 +323,12 @@ public class FolderAnimationManager {
|
||||
}
|
||||
|
||||
private void play(AnimatorSet as, Animator a) {
|
||||
a.setDuration(mDuration);
|
||||
play(as, a, a.getStartDelay(), mDuration);
|
||||
}
|
||||
|
||||
private void play(AnimatorSet as, Animator a, long startDelay, int duration) {
|
||||
a.setStartDelay(startDelay);
|
||||
a.setDuration(duration);
|
||||
as.play(a);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user