改变Android ProgressBar样式颜色

本文介绍如何通过自定义图片和颜色来改变Android中ProgressBar的样式。包括使用XML定义进度条的背景图片和进度图片,以及如何设定不同的背景颜色和进度条颜色。

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

几天我的教程里给出了一个作业,改变 ProgressBar 样式颜色。在这里分享一下源码。改变ProgressBar 的样式颜色,可以改变其背景颜色,也可以设置不同的图片。先上两个效果图:

(进度条是 自定义图片


(进度条是 自定义颜色

一.修改背景为图片。

1.我自己制作了两张图片(如下图),并将它们放到工程的 /res/drawable 目录下。

(背景图片 prgs_bg.png)

(进度图片 prgs_progress.png)

2.同时在 /res/drawable 目录下新建一个 barbgimg.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/prgs_bg" />   
                                     
<!--  设置进度条颜色图像资源  -->                 
<item                
	android:id="@android:id/progress"              
	android:drawable="@drawable/prgs_progress" />
              
</layer-list>

 

3.在布局文件中定义 ProgressBar 时,添加 android:progressDrawable="@drawable/barbgimg" 属性。


二.修改背景为其它颜色。

1. 在 /res/drawable 目录下,添加 barcolor.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="5dip" />               
		<gradient android:startColor="#000000"              
			  android:endColor="#000000" />              
</shape>             
</item>                                

<!--  设置进度条颜色(白色)  -->               
<item  android:id="@android:id/progress" >              
<clip>               
	<shape>                
		<corners android:radius="5dip" />                
	<gradient  android:startColor="#ffffff"               
		   android:endColor="#ffffff" />               
	</shape>              
</clip>             
</item>            

</layer-list>


2.在布局文件中定义 ProgressBar 时,添加 android:progressDrawable="@drawable/barcolor" 属性。

 

 

 

 

 

 

 

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值