ボタンクリックで処理が行われるときに、プログレスバーを画面中央に表示したい。しかし、私はちょうどダイアログボックスなしでプログレスバーをしたい..Android - ダイアログなしで不確定なプログレスバーを表示
これを行う方法はありますか?
ボタンクリックで処理が行われるときに、プログレスバーを画面中央に表示したい。しかし、私はちょうどダイアログボックスなしでプログレスバーをしたい..Android - ダイアログなしで不確定なプログレスバーを表示
これを行う方法はありますか?
SDK内のApiDemosで詳しく説明しています。 希望する例の名前はProgressBar3.javaで、¥ApiDemos¥src¥com¥example¥android¥apis¥view¥
また、ダイアログの罫線を削除してプログレスバーだけが表示され、ダイアログ自体を透明なビュー/オーバーレイとして定義することができます(例でも説明しています)。
@reflog: それは私が推測する必要はありません。
@lostInTransit:次のように
これを達成するための正しい方法は次のとおりです。
。それは1.5から2.1のデバイスで私のために働く。 2.2では試していません。
-Yogesh
ヨーゲッシュがで示唆されて何をすべきかの素晴らしい例があります:クレジットはそれを投稿するためMacarseに行く
How to center progress indicator in ProgressDialog easily (when no title/text passed along)
が。
ダイアログが必要ない場合は、他のビューアイテムと同様にprogressBarをレイアウトに配置し、デフォルトでは表示を「INVISIBLE」または「GONE」に設定します。
コード内でsetVisibilityを使用して 'VISIBLE'に変更する必要があるときはいつでも表示し、もう一度 'INVISIBLE'または 'GONE'にしてタスクを終了すると再び非表示にします。
MyTask {
// get handle on ProgressBar ViewItem defined in XML (id:progressBar)
ProgressBar progressBar = findViewById(R.id.progressBar);
//starting task, show progress bar
progressBar.setVisibility(View.VISIBLE);
// Do some stuff...
//task done, hide it again
progressBar.setVisibility(View.GONE);
}
これはすべてUIスレッドで行われる単純なバージョンですが、非同期タスクまたはスレッドハンドラを使用している場合は、これを適応させるのが簡単です。あなたがUIスレッド中にダイアログに何か更新を表示、非表示、投稿するだけで、バックグラウンドで長時間の作業を行います。
@Jesse Finnertyの回答が私の問題を解決しました。私が何をしたか されました:
private ProgressBar mprogressBar;
ちょうど私がやった他のボタンとtextviews、 mprogressBar =(プログレス)findViewById(R.idのような内部のOnCreate()。プログレスバー);
は、その後の時点で私は私はそれが消えるしたいポイントでコマンドを
mprogressBar.setVisibility(View.VISIBLE);
を与える表示されるようにホイールを回転します。
mprogressBar.setVisibility(View.INVISIBLE);
これは実際にはスイッチではありません。私のプログラムの状態が変わると、プログレスバーが現れて消えます。
この作品は私にはありがたいです。 = D 'imgname =(ImageView)v.findViewById(getResources()。getIdentifier(" idimage "、" id "、mContext.getPackageName()));' – Florida