Jon*_*Jon 32 android android-progressbar android-fragments
我到处搜索,我找不到解决这个问题的方法.
基本上我有一个登录屏幕,我正在尝试获取进度微调器,以便在登录到服务器(通过线程)时显示,然后在登录成功后将其关闭.它必须在改变方向时工作.
我正在使用DialogFragmentAndroid兼容包来创建一个进度条(找不到任何文档,仅用于基本\ alert对话框),因为showDialog()现在已弃用.现在我只显示一个自定义消息框作为登录微调器.
综上所述:
DialogFragment.Phi*_*art 60
要显示进度微调器,只需在对话框片段中覆盖DialogFragment.onCreateDialog(),如下所示(无需重写onCreateView()):
@Override
public Dialog onCreateDialog(final Bundle savedInstanceState) {
final ProgressDialog dialog = new ProgressDialog(getActivity());
//
dialog.setTitle(R.string.login_title);
dialog.setMessage(getString(R.string.login_message));
dialog.setIndeterminate(true);
dialog.setCancelable(false);
// etc...
return dialog;
}
Run Code Online (Sandbox Code Playgroud)
至于从其他地方解雇该对话框片段,你需要保持FragmentManager(从你的下一个FragmentActivity或内部Fragment)并调用popBackStack()它(如果你在此期间没有做任何其他片段事务).
如果进度对话框片段和下一个活动之间有更多的步骤/片段事务处理,您可能需要使用其他popBackStack(...)方法之一来获取ID或标记,以便将所有内容从堆栈中弹出到进度对话框片段.
LOG*_*TAG 20
我知道这是一个老问题,但我想为此分享更好的解决方案
根据Android Development Protip:
"停止使用ProgressDialog,内联指标是你的朋友"
罗马努里克说:

这一个很快.停止使用ProgressDialog和其他模态加载指示器.它们非常中断和烦人,尤其是在以下情况下:
每次切换标签时都会看到一个.
你不能退出他们.
他们说"请稍等".不,谢谢,我宁愿卸载.
要么显示与您的内容内联的加载指示符(例如 http://developer.android.com/training/animation/crossfade.html),要么更好,在后台加载少量数据,以便最小化甚至显示装载指标.
更多关于设计指南中的进展和活动.
| 归档时间: |
|
| 查看次数: |
24469 次 |
| 最近记录: |