Android 在短暂的停顿之后,我如何执行一个动作?

Android 在短暂的停顿之后,我如何执行一个动作?,android,dialog,callback,Android,Dialog,Callback,我有一个可以裁剪人脸的应用程序——这个应用程序可以在纳秒内完成,但我希望用户认为这需要更长的时间。因此,在一个点击按钮的案例中,我有: final ProgressDialog dialog = ProgressDialog.show(Main.this, "", "Cropping faces...", true); dialog.show(); Handler handler = new

我有一个可以裁剪人脸的应用程序——这个应用程序可以在纳秒内完成,但我希望用户认为这需要更长的时间。因此,在一个点击按钮的案例中,我有:

final ProgressDialog dialog = ProgressDialog.show(Main.this, "",
                        "Cropping faces...", true);
                dialog.show();

            Handler handler = new Handler();
            handler.postDelayed(new Runnable() {
                @Override
                public void run() {
                    dialog.dismiss();
                }
            }, 3000);
                            cropFaces();
                            return
}

该对话框显示“精细”,并且面也可以精细裁剪。问题是——当用户运行应用程序时,这两种情况会同时出现在屏幕上


有没有办法让对话框出现,在屏幕上过3秒,然后cropFaces运行?这样,它看起来就像在几秒钟内裁剪了人脸,然后新页面出现。谢谢

将对
cropFaces()
的调用放在
run()
方法中,因此它也会延迟。

基本上可以工作。尝试将处理程序放在onClick之外。将处理程序作为活动的字段。我不确定,但可能处理程序运行postdelayed太早,因为它是在onclick方法处理后清理的?(只是猜测)