@Override
                    public void doShowAnim(CustomDialog customDialog, ViewGroup dialogBodyView) {
                        if (getDialogImpl() == null || getDialogImpl().boxCustom == null) {
                            return;
                        }
                        Animation enterAnim = getEnterAnimation();
                        long enterAnimationDuration = getEnterAnimationDuration(enterAnim);
                        enterAnim.setDuration(enterAnimationDuration);
                        if (boxCustom != null) {
                            boxCustom.setVisibility(View.VISIBLE);
                            boxCustom.startAnimation(enterAnim);
                        }

                        if (maskColor != Color.TRANSPARENT) boxRoot.setBackgroundColor(maskColor);

                        ValueAnimator bkgAlpha = ValueAnimator.ofFloat(0f, 1f);
                        bkgAlpha.setDuration(enterAnimationDuration);
                        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/10/20 11:59
DialogX/src/main/java/com/kongzue/dialogx/dialogs/CustomDialog.java