// To reveal a previously invisible view using this effect: private void show(final View view) { // get the center for the clipping circle int cx = (view.getLeft() + view.getRight()) / 2; int cy = (view.getTop() + view.getBottom()) / 2;
// get the final radius for the clipping circle int finalRadius = Math.max(view.getWidth(), view.getHeight());
// create the animator for this view (the start radius is zero) Animator anim = ViewAnimationUtils.createCircularReveal(view, cx, cy, 0, finalRadius); anim.setDuration(1000);
// make the view visible and start the animation view.setVisibility(View.VISIBLE); anim.start(); }
// To hide a previously visible view using this effect: private void hide(final View view) {
// get the center for the clipping circle int cx = (view.getLeft() + view.getRight()) / 2; int cy = (view.getTop() + view.getBottom()) / 2;
// get the initial radius for the clipping circle int initialRadius = view.getWidth();
// create the animation (the final radius is zero) Animator anim = ViewAnimationUtils.createCircularReveal(view, cx, cy, initialRadius, 0); anim.setDuration(1000);
// make the view invisible when the animation is done anim.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { super.onAnimationEnd(animation); view.setVisibility(View.INVISIBLE); } });
No comments:
Post a Comment