【Android】オリジナルプログレスヒント
1576 ワード
1.需要:画像をアップロードするなどの時間のかかる操作で、長い時間サーバーの応答を受け取っていないで、ユーザーに対応して待機注意を行って、ユーザーが何度も操作することを防止する.
androidオリジナルのProgressDialogを用いて実現できます.
①まずProgressDialogを宣言する
②ProgressDialog.show(...)情報設定を行うには、いくつかのパラメータの異なるshow方法があります.
(1)contextはコンテキストを表し、MainActivity.thisやgetActivity()など;
(2)titleはprogressプロンプトボックスのタイトルを表す.
(3)messageは具体的なヒントの情報である.
(4)indeterminateアニメーション効果がtrueの場合、進捗状況を明確に知ることができる.falseの場合はあいまいで、現在の進捗状況を明確に知ることができません.
(5)cancelable他の領域をクリックしたり、戻ったりすることでprogressDialogの展示をキャンセルすることができますか.
progressDialogがある場合はsetメソッドでdialog情報を更新できます.最後にショー()メソッドで展示します.
③progressDialog.dismiss()はdialogのキャンセルを行います.
④buttonのclickメソッドが時間のかかる操作をトリガーした場合、showProgressDialogを呼び出し、成功した戻りまたは失敗した戻りを受け取るとhideProgressDialogメソッドを呼び出す必要があります.
androidオリジナルのProgressDialogを用いて実現できます.
①まずProgressDialogを宣言する
private ProgressDialog progressDialog;
②ProgressDialog.show(...)情報設定を行うには、いくつかのパラメータの異なるshow方法があります.
ProgressDialog show(Context context, CharSequence title, CharSequence message, boolean indeterminate, boolean cancelable)
(1)contextはコンテキストを表し、MainActivity.thisやgetActivity()など;
(2)titleはprogressプロンプトボックスのタイトルを表す.
(3)messageは具体的なヒントの情報である.
(4)indeterminateアニメーション効果がtrueの場合、進捗状況を明確に知ることができる.falseの場合はあいまいで、現在の進捗状況を明確に知ることができません.
(5)cancelable他の領域をクリックしたり、戻ったりすることでprogressDialogの展示をキャンセルすることができますか.
progressDialogがある場合はsetメソッドでdialog情報を更新できます.最後にショー()メソッドで展示します.
public void showProgressDialog(String title, String message) {
if (progressDialog == null) {
progressDialog = ProgressDialog.show(UploadActivity.this, title,message, false, false);
} else if (progressDialog.isShowing()) {
progressDialog.setTitle(title);
progressDialog.setMessage(message);
}
progressDialog.show();
}
③progressDialog.dismiss()はdialogのキャンセルを行います.
public void hideProgressDialog() {
if (progressDialog != null && progressDialog.isShowing()) {
progressDialog.dismiss();
}
}
④buttonのclickメソッドが時間のかかる操作をトリガーした場合、showProgressDialogを呼び出し、成功した戻りまたは失敗した戻りを受け取るとhideProgressDialogメソッドを呼び出す必要があります.