如何更改 Android 中进度条的颜色?-(我尝试了一种方法,但它不起作用)

How to change the color of the Progress Bar in Android?- (I tried one way,and it isn't working)

我使用以下代码向我的 activity 添加了一个进度条:

<LinearLayout
    android:id="@+id/linlaHeaderProgress"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"
    android:orientation="vertical"
    android:visibility="gone" >

    <ProgressBar
        android:id="@+id/pbHeaderProgress"
        android:indeterminateOnly="true"
        android:keepScreenOn="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >
    </ProgressBar>
</LinearLayout>

然后我调用它:

 progressbar = (LinearLayout) findViewById(R.id.linlaHeaderProgress);
 progressbar.setVisibility(View.VISIBLE);

显示进度条,我想改变它的颜色。默认情况下,进度条显示为灰色。这是我尝试更改颜色的内容:

我在 drawables 文件夹中创建了一个 xml 文件并将其命名为 activityindicator.xml 这个xml的内容是:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item android:id="@android:id/secondaryProgress">


        <color android:color="#f58233" />
    </item>
    <item android:id="@android:id/progress">

        <color android:color="#f58233" />
    </item>

</layer-list>

并且我将布局文件更改为:

<LinearLayout
    android:id="@+id/linlaHeaderProgress"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"
    android:progressDrawable="@drawable/activityindicator"
    android:orientation="vertical"
    android:visibility="gone" >

    <ProgressBar
        android:id="@+id/pbHeaderProgress"
        android:indeterminateOnly="true"
        android:keepScreenOn="true"
        android:progressDrawable="@drawable/activityindicator"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >
    </ProgressBar>
</LinearLayout>

这是我试过的,但是颜色没有改变。谁能告诉我我做错了什么?

我正在使用 Lollipop 版本。

如果您只想更改颜色,请在进度条中添加滤色器:

pbHeaderProgress.getIndeterminateDrawable().setColorFilter(Color.RED, Mode.MULTIPLY);

Mode 参数,指的是 PorterDuff.Mode 值 - 可用 here

我刚刚找到了一个方法。我什至不需要单独的 xml 文件来更改颜色,因为进度条的类型是 "indeterminate:true"

我使用以下方法更改进度条的颜色:

pbHeaderProgress.getIndeterminateDrawable().setColorFilter(Color.parseColor("#C0D000"), android.graphics.PorterDuff.Mode.SRC_ATOP);

您可以从这里获得各种十六进制颜色代码:http://www.nthelp.com/colorcodes.htm 要么 http://www.color-hex.com/