public static ViewPropertyAnimator scaleSwap(ImageView image, @DrawableRes int drawableId,
                                                 Runnable endAction) {
        return scale(image, () -> image.setImageResource(drawableId), endAction);
    }
public static ViewPropertyAnimator scaleSwap(ImageView image, @DrawableRes int drawableId,
                                                 Runnable endAction) {
        return scale(image, () -> image.setImageResource(drawableId), endAction);
    }
public static ViewPropertyAnimator scaleSwap ( ImageView image , @ DrawableRes int drawableId , Runnable endAction ) { return scale ( image , ( ) -> image . setImageResource ( drawableId ) , endAction ) ; }
Scale out the image, swap in the Drawable resource, scale it back in, and run the action.

@since 4.0.0
Scale out the image swap in the Drawable resource scale it back in and run the action .