sprockets/src/main/java/net/sf/sprockets/view/Animators.java
@Nullable
    public static ViewPropertyAnimator makeScaleDownAnimation(Activity a) {
        Rect to = a.getIntent().getSourceBounds();
        return to != null ? makeScaleDownAnimation(a, to) : null;
    }
@Nullable
    public static ViewPropertyAnimator makeScaleDownAnimation(Activity a) {
        Rect to = a.getIntent().getSourceBounds();
        return to != null ? makeScaleDownAnimation(a, to) : null;
    }
Scale the Activity down to the rectangle provided by its
{@link Intent#getSourceBounds() getIntent().getSourceBounds()}. To see the Activity behind
this one, you must include the below attributes[1] in your Activity theme. You may further
modify the animator, for example to fade out the Activity by decreasing its
{@link ViewPropertyAnimator#alpha(float) alpha} and/or set an
{@link ViewPropertyAnimator#withEndAction(Runnable) end action} that finishes the Activity.
When finishing the Activity in this way, you may wish to also call
{@link Activity#overridePendingTransition(int, int) Activity.overridePendingTransition(0,
0)} in order to prevent the system Activity close animation from running.
<p>
1. Activity theme attributes
</p>
{@code <item name="android:windowBackground">@android:color/transparent</item>}<br/>
{@code <item name="android:windowIsTranslucent">true</item>}

@return null when the Activity's Intent does not have
{@link Intent#getSourceBounds() source bounds}
@see ActivityOptions#makeScaleUpAnimation(View, int, int, int, int)