使用新的AlphaAnimation覆盖Dialog dismiss()

Nod*_*Dad 7 java animation android dialog dismiss

所以现在默认情况下,Dialog在被解雇时正在执行这个zoomin淡出效果 dialog.dismiss();

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

AlphaAnimation fadeOut = new AlphaAnimation(1, 0);
fadeOut.setDuration(600);
view.setAnimation(fadeOut);
view.startAnimation(fadeOut);
Run Code Online (Sandbox Code Playgroud)

编辑:

感谢答案,我能够弄清楚.而不是修改解雇,我做了动画然后解雇它.

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));
    }
Run Code Online (Sandbox Code Playgroud)

并且这样称呼它 dialog.dismissHUD();

Arc*_*pgc 7

我不认为你需要覆盖 Dialog.dismiss()

您只需根据需要为对话框设置动画,并在动画结束时将其关闭.

@Override
public void onAnimationEnd(Animation animation) {
        dialog.dismiss();
}
Run Code Online (Sandbox Code Playgroud)


Abh*_*mar 6

你需要利用

dialog.getWindow().getAttributes().windowAnimations 用于覆盖输入和退出/关闭动画的标志.

这篇博客文章解释了如何很好地覆盖动画:http: //flowovertop.blogspot.in/2013/03/android-alert-dialog-with-animation.html