2015-09-15 4 views
7

ProgressDialogを使用してアプリケーションを作成するとJellyBeanでうまく表示されますが、Lollipopでテストすると、タイトルとメッセージのみが表示され、進行スピナーは表示されません..Lollipop上のProgressDialogで進捗スピナーを見ることができません

compile 'com.android.support:appcompat-v7:22.2.0' 

サポートライブラリとAppCompatActivity

コードです:

ProgressDialog progressDialog = new ProgressDialog(AddBuddyActivity.this); 
progressDialog.setMessage("Loading..."); 
progressDialog.setCancelable(false); 
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); 
progressDialog.show(); 

あなたは、私が同じトピックhereに掲載別の質問を見ることができます。

+0

あなたの進行状況を確認するためのコードを追加してください。 – Tasos

+0

マニフェストで使用されているこのアクティビティのテーマを追加できますか? – Shishram

+0

@Shishram、テーマはすべてのテーマについてTheme.AppCompat.Light.DarkActionBarです – Brandon

答えて

13

:この質問の擬似複製hereが表示されます。リンク内のものは少し徹底的ですが、どちらも同じ解決策を持っています。

ユーザーが開発者オプションでトランジションをオフにすると、ProgressDialog(つまりプログレススピナー)のアニメーションが表示されないという回答があるようです。それらをオンにしてアプリを再起動すると、スピナーが表示されます!

これらの設定をオフにしたアニメーションを可能にするソリューションは、デフォルトのProgressDialogよりもよく見えるカスタムダイアログを作成するように思われます。

そして、ProgressDialogを乱用しようとする人々に公正な警告として、開発者documentationからこれらの言葉に耳を傾ける:

のAndroidは、プログレスバーとのダイアログを示しProgressDialogと呼ばれる別のダイアログクラスを含んでいます。ただし、ロードの進行状況や不確定な進捗状況を示す必要がある場合は、代わりにProgress & Activityのデザインガイドラインに従い、レイアウトにProgressBarを使用する必要があります。

これからは、ネットワーク経由で長いコールにそれらを使用することはOKですが、情報のロードや長いローカルプロセスの実行は、他の進行コンポーネントの1つを使用して指示する必要があります。

+1

本当に、開発者のオプションを改ざんすると、ProgressBarが非表示になることがあります。私は開発者のオプションを有効にして、進捗状況を見ることができました。 –

2

私はこれをLollipopで使用しています。それがあなたのために働くかどうか私に教えてください。 5.0.1 サムスンギャラクシー6と4.4.2 サムスン注4で ドロイドカミソリM:私は使用しています サポートライブラリは、これは上の私のために正常に動作しているアンドロイド・サポート・v4.jar

import android.app.ProgressDialog; 

ProgressDialog dialog = ProgressDialog.show(this, "Title", "Message ", true, true);//Put this where you need it 

ですエッジ付き5.1.1

+0

いいえ、Marshmallow(6.0)で動作していません。 –

関連する問題