如何在ProgressDialog中的ProgressBar上设置颜色过滤器?

时间:2015-11-20 02:53:05

标签: android progress-bar progressdialog

我正在创建默认的微调器进度对话框...

pDialog = new ProgressDialog(mContext, ProgressDialog.STYLE_SPINNER);
pDialog.setCancelable(false);
pDialog.setMessage("Uploading Picture...");
pDialog.show();

但当然微调器是默认颜色。 如何更改此微调器的颜色?我已使用...更改了其他微调器的颜色

    pb.getIndeterminateDrawable().setColorFilter(
            getResources().getColor(R.color.brand_red),
            android.graphics.PorterDuff.Mode.SRC_IN);

但是只有在微调器处于布局中时才有效。不是我刚刚生成的进度对话框的情况。

感谢。

2 个答案:

答案 0 :(得分:0)

您只能更改代码的颜色。检查代码

final ProgressDialog pd = new ProgressDialog(MainActivity.this);

            // Set progress dialog style spinner
            pd.setProgressStyle(ProgressDialog.STYLE_SPINNER);

            // Set the progress dialog title and message
            pd.setTitle("Title of progress dialog.");
            pd.setMessage("Loading.........");

            // Set the progress dialog background color
            pd.getWindow().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#FFD4D9D0")));

            pd.setIndeterminate(false);

            // Finally, show the progress dialog
            pd.show();

对于Spinner,您可以像这样使用Drawable XMl

XML

<shape
    android:innerRadiusRatio="3"
    android:shape="ring"
    android:thicknessRatio="8"
    android:useLevel="false" >
    <size
        android:height="76dip"
        android:width="76dip" />

    <gradient
        android:angle="0"
        android:endColor="#00FF00"
        android:startColor="@android:color/transparent"
        android:type="sweep"
        android:useLevel="false" />
</shape>

并将此设置为您的进度对话框

pd.setIndeterminateDrawable(getResources()getDrawable(R.drawable.dialog_xml));

答案 1 :(得分:0)

您可以使用下面的特定样式创建ProgressDialog。

 proDia= new ProgressDialog(TakeActivity.this,R.style.AlertDialogCustom);
    proDia.setMessage(getResources().getString(R.string.searching));

<style name="AlertDialogCustom" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="colorAccent">@color/main_green</item>
<item name="android:radioButtonStyle">@color/main_green</item>

只需将colorAccent设置为您的颜色即可。

这是风格的结果:

And this is the result by the style