Add rotation effect for showing fab
This commit is contained in:
1 parent
250e1256b9
commit
57a9865d99
3 files changed
+16
-4
No files matched your search
@@ -490,7 +490,8 @@ public final class GalleryCommentsScene extends ToolbarScene
|
||||
mFab.setY(fabStartY);
|
||||
mFab.setScaleX(0.0f);
|
||||
mFab.setScaleY(0.0f);
|
||||
mFab.animate().translationX(0.0f).translationY(0.0f).scaleX(1.0f).scaleY(1.0f)
|
||||
mFab.setRotation(-45.0f);
|
||||
mFab.animate().translationX(0.0f).translationY(0.0f).scaleX(1.0f).scaleY(1.0f).rotation(0.0f)
|
||||
.setInterpolator(AnimationUtils.SLOW_FAST_SLOW_INTERPOLATOR)
|
||||
.setDuration(300L).setListener(new SimpleAnimatorListener() {
|
||||
@Override
|
||||
|
||||
@@ -881,7 +881,8 @@ public final class GalleryListScene extends BaseScene
|
||||
mShowActionFab = true;
|
||||
View fab = mFabLayout.getPrimaryFab();
|
||||
fab.setVisibility(View.VISIBLE);
|
||||
fab.animate().scaleX(1.0f).scaleY(1.0f).setListener(null)
|
||||
fab.setRotation(-45.0f);
|
||||
fab.animate().scaleX(1.0f).scaleY(1.0f).rotation(0.0f).setListener(null)
|
||||
.setDuration(ANIMATE_TIME).setStartDelay(0L)
|
||||
.setInterpolator(AnimationUtils.FAST_SLOW_INTERPOLATOR).start();
|
||||
}
|
||||
@@ -916,7 +917,8 @@ public final class GalleryListScene extends BaseScene
|
||||
.setInterpolator(AnimationUtils.SLOW_FAST_INTERPOLATOR).start();
|
||||
}
|
||||
mSearchFab.setVisibility(View.VISIBLE);
|
||||
mSearchFab.animate().scaleX(1.0f).scaleY(1.0f).setListener(null)
|
||||
mSearchFab.setRotation(-45.0f);
|
||||
mSearchFab.animate().scaleX(1.0f).scaleY(1.0f).rotation(0.0f).setListener(null)
|
||||
.setDuration(ANIMATE_TIME).setStartDelay(delay)
|
||||
.setInterpolator(AnimationUtils.FAST_SLOW_INTERPOLATOR).start();
|
||||
} else {
|
||||
@@ -950,7 +952,8 @@ public final class GalleryListScene extends BaseScene
|
||||
}
|
||||
View fab = mFabLayout.getPrimaryFab();
|
||||
fab.setVisibility(View.VISIBLE);
|
||||
fab.animate().scaleX(1.0f).scaleY(1.0f).setListener(null)
|
||||
fab.setRotation(-45.0f);
|
||||
fab.animate().scaleX(1.0f).scaleY(1.0f).rotation(0.0f).setListener(null)
|
||||
.setDuration(ANIMATE_TIME).setStartDelay(delay)
|
||||
.setInterpolator(AnimationUtils.FAST_SLOW_INTERPOLATOR).start();
|
||||
|
||||
|
||||
@@ -256,14 +256,20 @@ public class FabLayout extends ViewGroup implements View.OnClickListener {
|
||||
|
||||
|
||||
private void setPrimaryFabAnimation(final View child, final boolean expanded, boolean delay) {
|
||||
float startRotation;
|
||||
float endRotation;
|
||||
float startScale;
|
||||
float endScale;
|
||||
Interpolator interpolator;
|
||||
if (expanded) {
|
||||
startRotation = -45.0f;
|
||||
endRotation = 0.0f;
|
||||
startScale = 0.0f;
|
||||
endScale = 1.0f;
|
||||
interpolator = AnimationUtils.FAST_SLOW_INTERPOLATOR;
|
||||
} else {
|
||||
startRotation = 0.0f;
|
||||
endRotation = 0.0f;
|
||||
startScale = 1.0f;
|
||||
endScale = 0.0f;
|
||||
interpolator = AnimationUtils.SLOW_FAST_INTERPOLATOR;
|
||||
@@ -271,9 +277,11 @@ public class FabLayout extends ViewGroup implements View.OnClickListener {
|
||||
|
||||
child.setScaleX(startScale);
|
||||
child.setScaleY(startScale);
|
||||
child.setRotation(startRotation);
|
||||
child.animate()
|
||||
.scaleX(endScale)
|
||||
.scaleY(endScale)
|
||||
.rotation(endRotation)
|
||||
.setStartDelay(delay ? ANIMATE_TIME : 0L)
|
||||
.setDuration(ANIMATE_TIME)
|
||||
.setInterpolator(interpolator)
|
||||
|
||||
Reference in new issue
Block a user