A 当前Activity
B 待启动Activity
在A页面,启动B的时,需要在startActivity之后,添加A的自定义退场动画用来覆盖系统的动画overridePendingTransition(0,R.anim.home_close);
调转到B页面,对根布局进行addOnLayoutChangeListenerj监听,并且在其中启动揭露动画
揭露动画代码
注意需要在动画启动的时候,移除监听,不然有些机型会导致重复调用
/** * 开始动画 * * @param viewRoot */ @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) private void animateRevealShow(final View viewRoot) { if (isShowAnimation) { return; } int finalRadius = (int) Math.sqrt(viewRoot.getWidth() * viewRoot.getWidth() + viewRoot.getHeight() * viewRoot.getHeight()); Animator anim = ViewAnimationUtils.createCircularReveal(viewRoot, 0, 0, 0,