@Override
                    public void doExitAnim(MessageDialog dialog, ViewGroup dialogBodyView) {
                        int exitAnimResId = style.exitAnimResId() == 0 ? R.anim.anim_dialogx_default_exit : style.exitAnimResId();
                        if (overrideExitAnimRes != 0) {
                            exitAnimResId = overrideExitAnimRes;
                        }
                        if (customExitAnimResId != 0) {
                            exitAnimResId = customExitAnimResId;
                        }
                        Animation exitAnim = AnimationUtils.loadAnimation(getOwnActivity(), exitAnimResId);
                        long exitAnimationDuration = getExitAnimationDuration(exitAnim);
                        exitAnim.setInterpolator(new AccelerateInterpolator());
                        exitAnim.setDuration(exitAnimationDuration);
                        bkg.startAnimation(exitAnim);

                        ValueAnimator bkgAlpha = ValueAnimator.ofFloat(1f, 0f);
                        bkgAlpha.setDuration(exitAnimationDuration);
                        bkgAlpha.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
                            @Override
                            public void onAnimationUpdate(ValueAnimator animation) {
                                boxRoot.setBkgAlpha((Float) animation.getAnimatedValue());
                            }
                        });
                        bkgAlpha.start();
                    }
@author: Kongzue
@github: https://github.com/kongzue/
@homepage: http://kongzue.com/
@mail: myzcxhh@live.cn
@createTime: 2020/9/21 17:08
DialogX/src/main/java/com/kongzue/dialogx/dialogs/MessageDialog.java