我有一个应用程序,其中用户的操作有时会导致应用程序在显示之前从服务器获取数据,例如获取项目的详细信息(信息太大而无法为所有项目预加载)或刷新所有数据。
在此过程中,我不希望用户做任何其他事情。显示“请稍候”消息的准则是什么?理想情况下,用户应该可以取消请求。
我可以通过一个警告对话框来完成它,但是操作通常只需要半秒到一秒钟,而且对于一个警告对话框暂时弹出来看起来真的很奇怪,甚至可能还不够长能够阅读信息。
我看到的另一个选择是小吃店,但它不会阻止用户做任何其他事情或导航。
在这种情况下,是否有指南或最佳做法?
我正在使用Xamarin.Android,但我认为不重要。
答案 0 :(得分:0)
查看AsyncTask
上的documentation。
我会在AsyncTask
中执行长时间运行的任务,在其ProgressDialog
方法中显示onPreExecute
并在onPostExecute
之后将其隐藏起来。
要阻止用户关闭对话框,您可以使用Dialog.setCancelable()
方法。
您可以为Dialog
定义自定义布局,并通过setContentView()
方法进行设置。
答案 1 :(得分:0)