天天看点

ProgressBar 自定义颜色、在代码中设置颜色



ProgressBar 我们一般都是自定义的背景颜色,和进度条颜色,但是在代码中我们想要更换背景颜色和进度颜色就没有那么简单了,下面我就分别介绍下,自定义颜色(这个正常的android程序员都会)和在代码中更换背景颜色和进度颜色

1.自定义背景颜色和进度条颜色

在drawable里面新建一个xml文件选择layer-list

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

 <!--进度条背景颜色  -->

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

        <shape>

            <!--圆角大小  -->

            <corners android:radius="5dip" />

            <solid android:color="#cccccc"/>

        </shape>

    </item>

    <!-- 设置进度条颜色 -->

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

        <clip>

            <shape>

                <!--圆角大小  -->

                <corners android:radius="5dip" />

                <solid android:color="#666666"/>

            </shape>

        </clip>

    </item>

</layer-list>

在layout文件里面直接引入就行了

style="@android:style/Widget.ProgressBar.Horizontal"//设置进度条为长方形

android:progressDrawable="@drawable/pb_hao"//引入我们画好的进度条样式

2.在代码中重置进度条背景颜色,和进度颜色

在代码中我们首先找到ProgressBar的ID

然后再需要设置的时候进行设置

这里的设置我们需要用到

Drawable progressDrawable= getResources().getDrawable(R.drawable.pb_hao_no);

getResources()为我的资源,这个必须声明,要不就会找不到Drawable,这drawable为我们新的画好的进度条样式(新的颜色)

ProgressBar.setProgressDrawable(progressDrawable);

这样就完成了进度条的更新,主要是找Drawable时要声明在getResources