如何更改循环ProgressDialog的颜色而不设置drawable或更改颜色重音

时间:2016-11-01 10:48:13

标签: android android-layout android-studio

我想创建一个带自定义颜色的ProgressDialog,但我想保留圆形的原始格式。我也不想更改颜色重音,因为它也会改变其他组件颜色,如Switch ......

请帮我解决这个问题。

感谢。

2 个答案:

答案 0 :(得分:0)

您可以使用自定义drawable。用您的颜色替换colorAccent和其他颜色。

<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromDegrees="0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toDegrees="1440" >

    <shape
        android:innerRadiusRatio="3"
        android:shape="ring"
        android:thicknessRatio="15"
        android:useLevel="false" >

        <size
            android:height="75dip"
            android:width="75dip" />

        <gradient
            android:angle="0"
            android:endColor="@color/colorAccent"
            android:centerColor="@color/colorAccentCenter"
            android:startColor="@color/colorAccentCenter"
            android:type="sweep"
            android:useLevel="false" />

    </shape>

</rotate>

答案 1 :(得分:0)

你可以在v21文件夹下的style.xml中编写样式,如下所示:

<style name="ProgressBar" parent="Base.Widget.AppCompat.ProgressBar"> <item name="android:colorAccent">@color/red</item> </style>

并像这样使用

ProgressDialog myProgressDialog = new ProgressDialog(MyActivity.this); myProgressDialog.setProgressStyle(R.style.ProgressBar) myProgressDialog.show();