web-dev-qa-db-ja.com

Android進行状況ダイアログについて。避けますか?

Androidサイトでダイアログについて読んでいて、「ProgressDialogを避ける」というセクションに出くわしました。

リンクは次のとおりです: http://developer.Android.com/guide/topics/ui/dialogs.html

それは彼らがそれを使わないことを勧めているという意味ですか?アプリがバックグラウンド作業を行っている間、進行状況を示すポップアップが本当に必要です。

それは、ProgressBarクラスを使用して独自のProgressダイアログを作成する必要があることを意味しますか?ちなみにどうやって作るの?どんな助けでも大歓迎です。

20
Hong Wei Wang

編集:Android O、ProgressDialogは現在 正式に非推奨 です。別の方法はアプローチです提案されています

このクラスはAPIレベルOで非推奨になりました。このモーダルダイアログを使用するのではなく、アクティビティ内でProgressBarインラインなどの進行状況インジケーターを使用してください。


元の回答:

これはすべて、コードの観点ではなく、設計とユーザーインタラクションの観点からのものです。

UIガイドラインでは、ProgressDialogの使用を避けるように指示されています。これは、クラスが非推奨になっているためではなく(この回答を書いている時点ではありません)、ユーザーがアプリケーションとの対話を避け、単に画面を見つめます。

例としてGooglePlayアプリを取り上げます。アプリケーション/アップデートをダウンロードしている間も、スワイプやナビゲートなどを行うことができます。アプリが何かをしている間も、アプリに関与することができます。

プログレスバーが終了するまでユーザーが対話を停止する必要がある場合は、必ずそうしてください。ドキュメントは、それを行うためのより良い方法を見つけることができるかもしれないと言っているだけです(したがって、 進捗状況とアクティビティ へのリンク)。

38
A--C

ProgressDialogはAndroid Oで非推奨になりました。ProgressBarを作成し、可視性を設定して表示する必要があります。 https://github.comのDelayedProgressDialogを使用しています/ Q115/DelayedProgressDialog ProgressDialogと同じように機能しますが、必要に応じて遅延の利点が追加されます。

使用法:

DelayedProgressDialog progressDialog = new DelayedProgressDialog();
progressDialog.show(getSupportFragmentManager(), "tag");
0
NinjaCowgirl