私はを使用して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)
を作成し、データの読み込みが完了するまで設定することができます。