【转】自定义ProgressBar(背景,前景,进度图片)

源地址 http://blog.csdn.net/dongshuai1991/article/details/8595334


android系统提供了少量的progressBar样式,但是样式有限,而且不够美观。所以这就需要我们自已定义progressBar的风格。提高应用UI的美观。这里简单的介绍自定义progressBar的两种方式。

一、引用资源图片的方式:
这里主要是定义progresseBar所需的图片,包括background、progress等,这样做的好处就是代码量少,美化工作可以由相应的工具来处理。重要的一点是图片的透明度可以事先处理好。

1.配置文件(res/drawable/progress_1.xml):
<layer-list

    xmlns:android="http://schemas.android.com/apk/res/android">

        <item

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

         <clip

             android:gravity="right" //从右边开始显示进度,默认的是水平方向

             android:drawable="@drawable/progress">

         </clip> 

</item>

</layer-list>

2、引用:
<ProgressBar

        android:id="@+id/progressBar1"

        style="?android:attr/progressBarStyleHorizontal"

        android:layout_width="fill_parent"

        android:layout_height="warp_content"

        android:background="@drawable/background"

        android:progressDrawable="@drawable/progress_1" />//设置进度条的背景前景

        android:thumb="@drawable/ic_dialog_time"//进度走到哪的图片
   android:thumbOffset="10dp"

android:maxHeight="8dp"//设置进度条的高度
        android:minHeight="8dp"

二、自定义前景色、背景色、及其渐变、渐变角度等。
1、配置文件(res/drawable/progress_2.xml):
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item

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

     <shape> 

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

         <gradient android:startColor="#FFFFFF"

               android:endColor="#FFFFFF"

                 android:angle="0" />

     </shape>

    </item>

    <item

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

     <clip>

            <shape>

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

             <gradient android:startColor="#B6F6FF" 

                    android:endColor="#00E0FF"

                    android:angle="45" /> 

            </shape> 

     </clip> 

    </item>

</layer-list>

备注:radius表示progressBar两边的圆角角度,angle表示渐变角度(方向)。
2、引用同上

猜你喜欢

转载自ccsosnfs.iteye.com/blog/1911304