alertDialog = new ProgressDialog(this);
alertDialog.setMessage(getResources().getString(R.string.loader));
alertDialog.setCancelable(false);
alertDialog.show();
単純にこれを行うと、緑色の円がWordのロードとともに表示されます。ただし、進行状況ダイアログを使用せず、ページで進行状況バーを使用すると、styles.xmlで以下を定義しているため、ピンク色が表示されます。
<item name="colorPrimary">@color/pink</item>
<item name="colorPrimaryDark">@color/pink</item>
<item name="colorAccent">@color/pink</item>
ページのプログレスバーのように円のピンク色を取得する解決策は何ですか?
API 21+の場合、次のスタイルを定義して、マテリアルの進行状況ダイアログに色を付けることができます。より低いプラットフォームをサポートしている場合、これはvalues-v21
の下にあることに注意してください。
<style name="MyTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="Android:alertDialogTheme">@style/MyAlertDialog</item>
</style>
<style name="MyAlertDialog" parent="Android:Theme.Material.Light.Dialog.Alert">
<item name="Android:colorAccent">@color/pink</item>
</style>
<item name="colorAccent">
はAppCompat用、<item name="Android:colorAccent">
はAPI 21以降用です。新しいv22.1
サポートライブラリ AppCompatDialog を使用しても、マテリアル進行ダイアログはAppCompatで機能しません。
Chris Banesの回答 here は、「悪いパターン」であるため、Progress Dialogをバックポートしないことを示しています。
この質問は少し古いですが、AppCompatを使用している場合は、次の属性を追加してください。
<item name="Android:tint">@color/my_color_accent</item>
あなたのスタイルで
<style name="MaterialDialog" parent="Theme.AppCompat.Light.Dialog">
<item name="Android:tint">@color/my_color_accent</item>
</style>
お役に立てれば!