使用原生progress实现自定义风格的progress
今天无意间看到progress还可以使用layer-list实现多重样式,特在此记录下来:
- 效果图
- layer-list
- 代码中使用
效果图
代码块
在drawable文件夹下创建myprogress.xml,例如:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- 背景 gradient是渐变,corners定义的是圆角 -->
<item android:id="@android:id/background">
<shape>
<corners android:radius="10dp" />
<solid android:color="#F1F1F1" />
</shape>
</item>
<!-- 第二条进度条颜色 -->
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<corners android:radius="10dip" />
<gradient
android:angle="90.0"
android:centerColor="#ac6079"
android:centerY="0.45"
android:endColor="#6c213a"
android:startColor="#e71a5e" />
</shape>
</clip>
</item>
<!-- 进度条 -->
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="10dip" />
<solid android:color="#fd5353" />
</shape>
</clip>
</item>
</layer-list>
在布局文件中用过android:progressDrawable=”@drawable/myprogress”使用
<ProgressBar
android:id="@+id/progressBar2"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="10dp"
android:progress="10"
android:progressDrawable="@drawable/myprogress"
android:layout_marginTop="63dp" />