我正在使用一个AsynTask
,当我进入处理时,它正在从网络服务器获取一些信息,我想显示一个加载对话框。目前我有一个进度微调器,我可以看到它,onPreExecute
但我想在它执行此操作时让 UI 的其余部分失焦。
这样做的正确方法是什么,我应该使用弹出式对话而不是仅使用进度条吗?
我正在使用一个AsynTask
,当我进入处理时,它正在从网络服务器获取一些信息,我想显示一个加载对话框。目前我有一个进度微调器,我可以看到它,onPreExecute
但我想在它执行此操作时让 UI 的其余部分失焦。
这样做的正确方法是什么,我应该使用弹出式对话而不是仅使用进度条吗?
...but I wanted to put the rest of the UI out of focus whilst it does this.
我有一个好主意为什么不模糊你的应用程序的窗口以获得你需要的效果
WindowManager.LayoutParams lp = dialog.getWindow().getAttributes();
lp.dimAmount = 0.0f;
dialog.getWindow().setAttributes(lp);
dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND)
或使用ProgressDialog的使用示例ProgressDialog
:
ProgressDialog pd = new ProgressDialog(MyApp.this);
pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pd.setMessage("Working...");
pd.setIndeterminate(true);
pd.setCancelable(false);
您可以在那里起诉对话框,您可以使用微调器和文本制作您的自定义对话框并设置它,MY_DIALOG.setCancelable(false)
直到它完成加载数据。