Android 自定义横向的ProgressBar的颜色

本文介绍如何通过XML自定义Android应用中的水平进度条样式,包括背景颜色、圆角设置及进度颜色等细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、首先在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">
        <shape>

            <!-- 这个是设置圆角还会直角,如果设置成0dip就是直角 -->
            <corners android:radius="5dip" />
            <!-- 设置背景的颜色,将startColor、centerColor、endColor都设置成同一个颜色值 -->
            <!--
                 如果你不用颜色值也可以,可以直接用图片来代替,在item中添加这个属性就可以了,其他的不需要
			     android:drawable="@drawable/progressbar_bg"
            -->
            <gradient
                android:angle="270"
                android:centerColor="#a6e1ca"
                android:centerY="0.75"
                android:endColor="#a6e1ca"
                android:startColor="#a6e1ca" />
        </shape>
    </item>
    <!-- 这个是第二进度条的颜色,没用到,大同小异 -->
    <item android:id="@android:id/secondaryProgress">
        <clip>
            <shape>
                <corners android:radius="5dip" />

                <gradient
                    android:angle="270"
                    android:centerColor="#80C07AB8"
                    android:centerY="0.75"
                    android:endColor="#a0C07AB8"
                    android:startColor="#80C07AB8" />
            </shape>
        </clip>
    </item>
    <!-- 这个是设置你进度的颜色 -->
    <item android:id="@android:id/progress">
        <clip>
            <shape>

                <!-- 这个也是设置时圆角还是直角,左边的 -->
                <corners android:radius="5dip" />
                <!-- 设置进度的颜色,将startColor、centerColor、endColor都设置成同一个颜色值 -->
                <gradient
                    android:angle="270"
                    android:centerColor="#65cea6"
                    android:centerY="0.75"
                    android:endColor="#65cea6"
                    android:startColor="#65cea6" />
            </shape>
        </clip>
    </item>

</layer-list>

这个文件很重要,有什么不明白的,看注释就明白了


然后在style.xml文件中增加progressbar的样式

<style name="progressBarHorizontal_color" parent="android:Widget.ProgressBar.Horizontal">
		<item name="android:indeterminateOnly">false</item>
		<!-- 这个属性就是配置进度的颜色和背景的颜色 -->
		<item name="android:progressDrawable">@drawable/progress_color_horizontal</item>
		<item name="android:minHeight">5dip</item>
		<item name="android:maxHeight">5dip</item>
	</style>


然后在你的布局文件中添加style就可以了

<ProgressBar
        android:id="@+id/progress_horizontal_color"
        style="@style/progressBarHorizontal_color"
        android:layout_width="200dip"
        android:layout_height="10dip"
        android:indeterminate="true"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="20dip"
        android:max="200"
        android:progress="51" />



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值