「終了」などの簡単なオプションを使用して、カスタマイズされたダイアログポップアップを取得しました。ユーザーが終了ボタンをクリックすると、ダイアログはそれ自体をキャンセルし、アクティビティのメソッド finish() を呼び出します。
私の質問は、ダイアログ終了アニメーションが完了するまでアクティビティを強制的に待機させてから、アクティビティを終了する方法です。
ありがとう!
Runnableを使用して、ダイアログが閉じられなくなるまでアクティビティ終了アクションを遅延させます。ダイアログが閉じられるまで、 Dialog.setOnCancelListener()OnCancelListener
に設定されます。
表示と非表示のアニメーションでスタイルを使用する
<style name="dialog_animations">
<item name="android:windowEnterAnimation">@anim/some_anim</item>
<item name="android:windowExitAnimation">@anim/some_anim</item>
</style>
これを試して:
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
YourActivity.this.finish();
}
}, 2000);
}