仿youtobe播放视频时开场动画
// 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);
}
});
// start the animation
anim.start();
}