如何更改ProgressDialog加载程序(微调器)?

时间:2016-02-20 09:44:33

标签: android

需要更改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>

1 个答案:

答案 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>