Java 使用新的AlphaAnimation覆盖对话框disclose()

Java 使用新的AlphaAnimation覆盖对话框disclose(),java,android,animation,dialog,dismiss,Java,Android,Animation,Dialog,Dismiss,因此,现在默认情况下,对话框在使用Dialog.disease()解除时会执行此缩放淡出效果 如何将其覆盖为我自己的动画 AlphaAnimation fadeOut = new AlphaAnimation(1, 0); fadeOut.setDuration(600); view.setAnimation(fadeOut); view.startAnimation(fadeOut); 编辑: 多亏了你,我才弄明白。我没有修改解雇,而是做了动画,然后像这样解雇了它 public void f

因此,现在默认情况下,对话框在使用
Dialog.disease()解除时会执行此缩放淡出效果

如何将其覆盖为我自己的动画

AlphaAnimation fadeOut = new AlphaAnimation(1, 0);
fadeOut.setDuration(600);
view.setAnimation(fadeOut);
view.startAnimation(fadeOut);
编辑:

多亏了你,我才弄明白。我没有修改解雇,而是做了动画,然后像这样解雇了它

public void fadeOutHUD(View view) {
        AlphaAnimation fadeOut = new AlphaAnimation(1, 0);
        fadeOut.setDuration(800);
        view.setAnimation(fadeOut);
        view.startAnimation(fadeOut);
        fadeOut.setAnimationListener(new Animation.AnimationListener() {
            @Override
            public void onAnimationStart(Animation animation) {

            }

            @Override
            public void onAnimationEnd(Animation animation) {
                dismiss();
            }

            @Override
            public void onAnimationRepeat(Animation animation) {

            }
        });
    }

public void dismissHUD() {
        fadeOutHUD(findViewById(R.id.progressHud));
    }

并像这样调用它
dialog.dismissHUD()

扩展
对话框
类(建议您使用
对话框片段
),并使用您需要使用的自定义
动画

覆盖其
disclose()

dialog.getWindow().getAttributes().windowAnimations
标志覆盖进入和退出/退出动画

这篇博文很好地解释了如何覆盖动画:

我认为您不需要覆盖
对话框。dismise()

您只需根据需要设置对话框的动画,并在动画结束时, 驳回它


那我该怎么称呼解雇,让它称呼动画呢?算了吧,你说得对,我会更新我的问题,提供更详细的解决方案。感谢阿加尼这样做,对话框只是陷入了一个循环显示,不会消失,但它会闪烁的动画,就像它是解散,然后立即回来。此外,我不能使用DialogFragment,当我这样做时,它不允许我使用
findViewById()
在哪里可以使视图淡出?我试图访问整个对话框作为一个视图,这样我就可以像这里一样淡出它,但我只设法让对话框的内容淡出(没有覆盖背景和白色边框)。
@Override
public void onAnimationEnd(Animation animation) {
        dialog.dismiss();
}