ProgressBar默认是圆形的.怎样改变它的颜色呢?

解决方案 »

  1.   

    估计不行,试试setBackgroundResource(int)修改成指定颜色
      

  2.   

    setProgressDrawable好像还有个这个函数,试试
      

  3.   

    这个问题可以通过drawable资源和androidLprogressDrawable属性来解决:
    color.xml如下:
    <?xml version="1.0" encoding="UTF-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android">        <item android:id="@android:id/background" android:drawable="@drawable/bg" />
            <item android:id="@android:id/secondaryProgress" android:drawable="@drawable/secondary" />
            <item android:id="@android:id/progress" android:drawable="@drawable/progress" />
    </layer-list>  
    在main.xml中引用:
    <ProgressBar android:id="@+id/progressBarHorizontal"
                    android:layout_width="fill_parent" android:layout_height="wrap_content"
                    android:layout_marginTop="20dp" style="?android:attr/progressBarStyleHorizontal"
                    android:max="100" android:progress="30" android:secondaryProgress="60"
                    android:progressDrawable="@drawable/color" />
            <SeekBar android:layout_width="fill_parent"
                    android:layout_height="wrap_content" android:max="100"
                    android:layout_marginTop="20dp" android:progress="30"
                    android:progressDrawable="@drawable/color" /> 
      

  4.   

    Baidu and Google can solve your question.
      

  5.   

    或者不用图片,直接设置颜色
    这个是Seekbar用的,与Progressbar类似
    <?xml version="1.0" encoding="UTF-8"?>     
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">     
      
       <item android:id="@android:id/background">     
          <shape>     
             <corners android:radius="18dip" />     
             <gradient     
                 android:startColor="#32CD32"  
                 android:centerColor="#ff008000"     
                 android:endColor="#ff00FF00"    
                 android:centerY="0.45"     
                 android:angle="270"/>     
          </shape>     
       </item>     
          
       <item android:id="@android:id/progress">     
           <clip>     
              <shape>     
                  <corners android:radius="18dip" />     
                  <gradient     
                      android:startColor="#ffFFA07A"  
                      android:centerColor="#ffF08080"     
                      android:endColor="#ffFF4500"    
                      android:centerY="0.45"     
                      android:angle="270"/>     
              </shape>     
           </clip>     
       </item>     
     </layer-list>
      

  6.   

    <ProgressBar
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:indeterminateDrawable="@drawable/progress_my_style"
       style="?android:attr/progressBarStyle"
    />注:style="?android:attr/progressBarStyle" 这是默认样式  ,可换改step2: 在drawable文件夹下建立progress_my_style.xml文件:内容可如下:<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
        android:drawable="@drawable/spinner_color"
        android:pivotX="50%"
        android:pivotY="50%"
      />注意:
    1. android:drawable="@drawable/spinner_color" 这里,你需要在drawable下建立spinner_color.png图片(自己画成你所想到的效果(渐变))2. progress_my_style.xml文件内容参考至D:\andrirod\android-sdk-windows\platforms\android-7\data\res\drawable\ progress_medium_white.xml文件内容,(android:framesCount与android:frameDuratiion是frameworks内部的属性,无法直接使用,所以省略)这样就可以满足你的效果了。------------------------------------------------
    你也可以完全自己来实现,画一张图,在图上加上动画就OK了具体 可以查google
      

  7.   

    在drawable文件夹下新建一xml文件,内容如下:<?xml version="1.0" encoding="UTF-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android">        <item android:id="@android:id/background" android:drawable="@drawable/bg" />
            <item android:id="@android:id/secondaryProgress" android:drawable="@drawable/secondary" />
            <item android:id="@android:id/progress" android:drawable="@drawable/progress" />
    </layer-list>
    除了第一句,其余抄自6楼,嘿嘿...