欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  技术分享

Android自定义ProgressBar水平进度条颜色及样式

程序员文章站 2022-03-01 13:23:38
...

大家都知道安卓系统提供了水平进度条ProgressBar的样式、而我们在实际开发中、几乎不可能使用默认的样式、原因就是太丑、姑且这么说一下、不喜勿喷、所以我们在更多的时候需要对其颜色进行自定义、主要使用就是自定义样式文件、方法也很简单、在drawable目录下新增progressbar.xml文件、可以设置默认背景色和进度条的颜色、另外值得一提的是支持渐变色哦、非常好看


progressbar.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">
        <shape>
            <corners android:radius="5dp" />

            <gradient
                android:angle="0"
                android:centerColor="#fff0f1f0"
                android:centerY="0.75"
                android:endColor="#ffdee0de"
                android:startColor="#ffffffff" />
        </shape>
    </item>
    <item android:id="@android:id/secondaryProgress">
        <clip>
            <shape>
                <corners android:radius="5dp" />

                <gradient
                    android:angle="0"
                    android:centerColor="#F39801"
                    android:centerY="0.75"
                    android:endColor="#a0ffcb00"
                    android:startColor="#80ffd300" />
            </shape>
        </clip>
    </item>
    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <corners android:radius="5dip" />

                <gradient
                    android:angle="0"
                    android:endColor="#8000ff00"
                    android:startColor="#80ff0000" />
            </shape>
        </clip>
    </item>

</layer-list>


布局文件定义如下

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/dwtedx_background"
    android:orientation="vertical" >

    <ProgressBar
        android:id="@ id/songsong_progressbar"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="match_parent"
        android:layout_height="3dp"
        android:progressDrawable="@drawable/progressbar"
        android:visibility="gone" />

    <WebView
        android:id="@ id/songsong_webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scrollbarSize="0dp" />
</LinearLayout>