需要更改API 21及更高版本上默认进度对话框的颜色微调器。
ProgressDialog progressDialog = new ProgressDialog(context);
progressDialog.setProgress(R.id.progressBar);
progressDialog.setMessage(message);
progressDialog.setProgressStyle(R.style.MaterialTheme);
progressDialog.setCancelable(false);
progressDialog.show();
我的主题是
<!-- Material theme. -->
<style name="MaterialTheme" parent="MyMaterialTheme.Base">
</style>
<style name="MyMaterialTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
答案 0 :(得分:0)
您将此xml保存为文件并将其放在drawable文件夹中(让我们这样做
说my_progress.xml)比你在中设置为drawable
的 MyProgressBar.setProgressDrawable()强>
要更改颜色 - 您需要在@ color / progress_start中更改这些值
@ color / progress_end 它基本上是一个渐变而你
可以把十六进制放在那里。
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<corners android:radius="5dip" />
<gradient
android:startColor="#ff9d9e9d"
android:centerColor="#ff5a5d5a"
android:centerY="0.75"
android:endColor="#ff747674"
android:angle="270"
/>
</shape>
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<corners android:radius="5dip" />
<gradient
android:startColor="#80ffd300"
android:centerColor="#80ffb600"
android:centerY="0.75"
android:endColor="#a0ffcb00"
android:angle="270"
/>
</shape>
</clip>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<corners
android:radius="5dip" />
<gradient
android:startColor="@color/progress_start"
android:endColor="@color/progress_end"
android:angle="270"
/>
</shape>
</clip>
</item>
</layer-list>