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();
}