如何解决对话框动画后如何执行动作
在我的应用程序中,我想等待对话框动画完成后再执行某些操作,我该如何实现?
到目前为止,我已经通过使用postDelayed Handler设法达到了预期的效果,但是我觉得有更好的方法可以做到这一点:
当前代码:
private void ShowDialog()
{
final Dialog dialog = new Dialog(Objects.requireNonNull(getActivity()));
dialog.setContentView(R.layout.haircut_dialog);
Objects.requireNonNull(dialog.getWindow()).setBackgroundDrawableResource(android.R.color.transparent);
Window window = dialog.getWindow();
window.setGravity(Gravity.CENTER);
window.getAttributes().windowAnimations = R.style.DialogAnimation;
Button selectButton = dialog.findViewById(R.id.selectButton);
selectButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
final int SPLASH_TIME_OUT = 600;
new Handler().postDelayed(new Runnable()
{
@Override
public void run()
{
Bundle bundle = new Bundle();
bundle.putString("haircutKey",haircutKey);
BeardCutSelectionFragment beardCutSelectionFragment = new BeardCutSelectionFragment();
beardCutSelectionFragment.setArguments(bundle);
FragmentManager manager = Objects.requireNonNull(getActivity()).getSupportFragmentManager();
manager.beginTransaction().replace(R.id.innerFragmentContainer,beardCutSelectionFragment)
.addToBackStack(null)
.commit();
}
},SPLASH_TIME_OUT);
}
});
dialog.setCancelable(true);
dialog.setCanceledOnTouchOutside(false);
window.setLayout(ActionBar.LayoutParams.WRAP_CONTENT,ActionBar.LayoutParams.WRAP_CONTENT);
dialog.show();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。