2011-11-14 7 views
2

私はメッセージでProgressDialogを表示する必要があると私は進捗ダイアログの寸法(幅)とその方法を設定できますか?

pd = ProgressDialog.show(Login.this, 
    "Connecting...", "Please wait", 
    true, false 
); 

のようにこれをやっている私は、進行状況ダイアログや方法の寸法(幅)を設定することはできますか?それは動作しますが、それは小さくて醜いです。私が欲しいもの

+0

可能重複/stackoverflow.com/questions/5496976/how-do-i-set-an-android-progressbars-size-programmatically) –

+0

これを確認してください:http://stackoverflow.com/questions/5496976/how-do-i-set -an-android-progressbars-size-programmatically – Manu

+0

@LukasKnuth&Manu ProgressBar!= ProgressDialog(同じ*回答*があてはまります) – blahdiblah

答えて

0

私が欲しいのは、プログラムで、無効ユーザインタラクションと、画面の中央にきれいな負荷インディケータ、です。

問題

問題は、デフォルトでは、ダイアログボックスは幅のためfill_parentされるように設定されていることです。カスタムインジケータビュー(この例ではAVLoadingIndicatorView)を使用すると、左側に残り、非常に醜いです。

あなたは幅のコンテンツをラップすることを求めて、ProgressDialogのためのカスタムスタイルに追加する必要が

ソリューション。デフォルトで中央に配置されます。

<style name="DialogStyle" parent="Theme.AppCompat.Light.Dialog"> 
    <!--Other custom stuff if needed--> 
    <item name="android:layout_width">wrap_content</item> 
</style> 

次に、AVLoadingIndicatorViewを使用するサンプルコードを示します。必要なカスタム表示に置き換えることができます。

AVLoadingIndicatorView avLoadingIndicatorView=new AVLoadingIndicatorView(getActivity(), null, 50, 50); 
avLoadingIndicatorView.setIndicator("BallPulseSyncIndicator"); 
avLoadingIndicatorView.setIndicatorColor(R.color.colorPrimary); 

final ProgressDialog mDialog = new ProgressDialog(getActivity(), R.style.DialogStyle); 
mDialog.setMessage("Loading... Please wait..."); 
mDialog.setCancelable(false); 
mDialog.show(); 
mDialog.setContentView(avLoadingIndicatorView); 

そして、最終的な結果は次のようになります。/:[?どうやってプログラム的にAndroidのプログレスバーのサイズを設定してください](HTTPの(私のエミュレータはいつものように遅いです)

enter image description here

+1

複数の質問に[同じ回答](https://stackoverflow.com/a/47099743)を追加しないでください。最良のものに答え、残りを重複としてフラグを立てる。 「[複数の質問に重複した回答を追加することは可能ですか?](http://meta.stackexchange.com/q/104227/347985)を参照してください。 – Machavity

関連する問題