更改进度条颜色

时间:2016-05-14 17:06:11

标签: android progress-bar

我在Activty中使用循环ProgressBar。 我的问题是它的颜色没有正确改变,只有BG颜色在变化。 那么如何在没有BG的情况下改变ProgressBar的颜色。 我试过这个帖子 - How to change default color of progress bar?

http://i.stack.imgur.com/DEpyM.jpg

2 个答案:

答案 0 :(得分:3)

您可以在xml文件中执行所有操作 经过一番搜索,我得到了答案:

进度条形码:

   <ProgressBar
        android:id="@+id/progressBar"
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:max="100"
        android:indeterminateDrawable="@drawable/progress"
   />

并且可绘制的进度由旋转环组成,具有您选择的渐变颜色,如下所示:

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

        android:thicknessRatio="8" android:useLevel="false">

        <size android:width="76dip" android:height="76dip" />
        <gradient android:type="sweep" android:useLevel="false"
            android:startColor="#007700" 
            android:endColor="#115511"
            android:angle="0"
             />
    </shape>
</rotate> 

就像这样,请评价这个答案:)

答案 1 :(得分:1)

更好的方法(使用AppCompat库):

final int color = Color.WHITE; // Or any other one
final ProgressBar progressBar= (ProgressBar) findViewById(R.id.progress_bar);
        DrawableCompat.setTint(progressBar.getIndeterminateDrawable(), color);