更改android中进度条的颜色

时间:2010-12-29 10:41:19

标签: android progress-bar

我正在尝试更改水平进度条的颜色,但它没有改变。我做了一些谷歌搜索,并通过你的网站给出的一些例子。但我没有成功地准确地改变颜色。 我使用了progressBar.setProgressDrawable(Drawable d),但它设置了整个进度条视图的背景颜色,而不是仅设置条形本身的背景颜色。

请,任何人帮助我。

谢谢

2 个答案:

答案 0 :(得分:1)

您好我在我的项目中使用此代码。我希望它适合你。

//在布局文件中创建ProgressBar。

    <ProgressBar
     android:id="@+id/yourid"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:progressDrawable="@drawable/slider"   
           />

//使用名称滑块在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/grey_bar_music"/>
    <item android:id="@android:id/progress">
        <clip android:drawable="@drawable/blue_bar_music" />
    </item>
</layer-list>

//grey_bar_music ->Background image name for  your progressbar.
//blue_bar_music->Progress bar change color using this image when it start from 0.

答案 1 :(得分:0)

You Can create custom_progress.xml file in drawable folder -
<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="2"
        android:thicknessRatio="6" android:useLevel="false">

        <size android:width="76dip" android:height="76dip" />
        <gradient android:type="sweep" android:useLevel="false"
            android:startColor="#c76a37" 
            android:endColor="#A4B4B9"
             />
    </shape>
</rotate> 

//And add below code to your layout file to create progress bar
 <ProgressBar
        android:id="@+id/progressBar1"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginTop="68dp"
        android:progressDrawable="@drawable/custom_progress"
        />
Hope this will help you.