进度条样式文件 d_progressbar 边距">
赞
踩
进度条布局:
- <ProgressBar
- android:layout_width="150dp"
- android:layout_height="20dp"
- style="@style/Widget.AppCompat.ProgressBar.Horizontal"
- android:progressDrawable="@drawable/drawable_progress"
- android:progress="50"/>
进度条样式文件 drawable_progress.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 >
- <solid android:color="#C72222"/>
- <corners android:radius="10dp"/>
- </shape>
- </item>
-
- <item android:id="@android:id/progress">
- <clip>
- <shape>
- <corners android:radius="8dp"/>
-
- <solid android:color="#FCA206"/>
-
- <!--进度条边距-->
- <stroke
- android:width="2dp"
- android:color="#C72222"/>
- </shape>
- </clip>
- </item>
- </layer-list>

效果图:
<layer-list> 标签
使用layer-list可以将多个drawable按照顺序层叠在一起显示,例如显示带有阴影的圆角矩形等。
layer [ˈleɪə(r)] 层;层次
<clip>标签
使用clip标签可以对drawable进行裁剪,在做进度条时很有用,通过设置level值控制裁剪多少。
clip [klɪp] 修剪;夹子
把clip标签替换成scale标签
- <item android:id="@android:id/progress">
- <!--缩放范围-->
- <scale android:scaleWidth="100%">
- <shape>
- <corners android:radius="8dp"/>
-
- <solid android:color="#FCA206"/>
-
- <!--进度条边距-->
- <stroke
- android:width="2dp"
- android:color="#C72222"/>
- </shape>
- </scale>
- </item>
效果图:
<scale>标签
使用scale标签可以对drawable进行缩放操作,是通过设置level来控制缩放的比例,scaleWidth属性用于设置可缩放的范围。clip和scale相比前者是裁剪shape,后者是缩放shape。
scale [skeɪl] 范围;程度
solid替换成gradient
- <item android:id="@android:id/progress">
- <!--缩放范围-->
- <scale android:scaleWidth="100%">
- <shape>
- <corners android:radius="8dp"/>
-
- <gradient
- android:startColor="#FCA206"
- android:endColor="#43C33D" />
-
- <!--进度条边距-->
- <stroke
- android:width="2dp"
- android:color="#C72222"/>
- </shape>
- </scale>
- </item>

效果图:
gradient [ˈɡreɪdiənt] 坡度;变化率
参考博客:
ProgressBar进度条圆角 https://blog.csdn.net/shma1022/article/details/70590661
drawable类型clip、scale https://blog.csdn.net/haoxuhong/article/details/81102910
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。