private Animator createHideItemAnimator(final View item) { final float dx = centerItem.getX() - item.getX(); final float dy = centerItem.getY() - item.getY(); Animator anim = ObjectAnimator.ofPropertyValuesHolder( item, AnimatorUtils.scaleX(1f, 0f), AnimatorUtils.scaleY(1f, 0f), AnimatorUtils.translationX(0f, dx), AnimatorUtils.translationY(0f, dy)); anim.setInterpolator(new DecelerateInterpolator()); anim.addListener( new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { super.onAnimationEnd(animation); item.setTranslationX(0f); item.setTranslationY(0f); } }); anim.setDuration(50); return anim; }
private Animator createShowItemAnimator(View item) { float dx = centerItem.getX() - item.getX(); float dy = centerItem.getY() - item.getY(); item.setScaleX(0f); item.setScaleY(0f); item.setTranslationX(dx); item.setTranslationY(dy); Animator anim = ObjectAnimator.ofPropertyValuesHolder( item, AnimatorUtils.scaleX(0f, 1f), AnimatorUtils.scaleY(0f, 1f), AnimatorUtils.translationX(dx, 0f), AnimatorUtils.translationY(dy, 0f)); anim.setInterpolator(new DecelerateInterpolator()); anim.setDuration(50); return anim; }