#小美化#android 自定义进度条ProgressBar

由于项目需要,一般都会自定义进度条,说实话android系统默认的进度条确实有点小挫,但是我们可以看android源码再自行进行修改。

android源码progress是一个xml文件:

<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="#ff9d9e9d" 
                    android:centerColor="#ff5a5d5a" 
                    android:centerY="0.75" 
                    android:endColor="#ff747674" 
                    android:angle="270" 
            /> 
        </shape> 
    </item> 
     
    <item android:id="@android:id/secondaryProgress"> 
        <clip> 
            <shape> 
                <corners android:radius="5dip" /> 
                <gradient 
                        android:startColor="#80ffd300" 
                        android:centerColor="#80ffb600" 
                        android:centerY="0.75" 
                        android:endColor="#a0ffcb00" 
                        android:angle="270" 
                /> 
            </shape> 
        </clip> 
    </item> 
     
    <item android:id="@android:id/progress"> 
        <clip> 
            <shape> 
                <corners android:radius="5dip" /> 
                <gradient 
                        android:startColor="#ffffd300" 
                        android:centerColor="#ffffb600" 
                        android:centerY="0.75" 
                        android:endColor="#ffffcb00" 
                        android:angle="270" 
                /> 
            </shape> 
        </clip> 
    </item> 
     
</layer-list>
我们可以模仿系统的写一个自己的progressdrawable.xml。(该文件是显示图片的,所以放在res/drawable/文件夹里面)

<?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/search_0" />
	<!-- 定义轨道上已完成部分的样式 -->
	<item android:id="@android:id/progress">
	    <clip 
			android:drawable="@drawable/search_32" >
	    </clip>
	</item>
</layer-list>     
然后就是在progress控件中调用这个 progressdrawable.xml

            <ProgressBar
                android:gravity="center"
                android:id="@+id/progressBar1"
                style="?android:attr/progressBarStyleHorizontal"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:focusable="false"
                android:indeterminate="false"
                android:progressDrawable="@drawable/progressdrawable"
                android:indeterminateOnly="false"
                android:max="100"
			 />
其实就是一个属性
android:progressDrawable="@drawable/progressdrawable"
这样就可以了。so easy,爸妈再也不用担心我的进度条了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值