下面开始看代码,先从主界面布局开始看起:
<ProgressBarstyle="@android:style/Widget.ProgressBar.Horizontal"android:layout_width="match_parent"android:layout_height="20dp"android:layout_margin="10dp"android:max="100"android:progress="20"android:progressDrawable="@drawable/layer_list_progress_drawable_1" /> <ProgressBarstyle="@android:style/Widget.ProgressBar.Horizontal"android:layout_width="match_parent"android:layout_height="20dp"android:layout_margin="10dp"android:max="100"android:progress="20"android:progressDrawable="@drawable/layer_list_progress_drawable" />两个进度条布局,然后是不同的progressDrawable布局:
<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <itemandroid:id="@android:id/background"android:drawable="@drawable/shape_progressbar_bg" /> <item android:id="@android:id/progress"><clip android:drawable="@drawable/shape_progressbar_progress" /> </item></layer-list>layer_list_progress_drawable.xml
<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <itemandroid:id="@android:id/background"android:drawable="@drawable/shape_progressbar_bg" /> <item android:id="@android:id/progress"><scale android:drawable="@drawable/shape_progressbar_progress" android:scaleWidth="100%" /> </item></layer-list>从上面两布局文件可以看出,布局文件基本也是相同的,唯一的区别就是item progress 的属性值。
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:radius="10dp" /> <solid android:color="#e2e2e2" /></shape>shape_progressbar_progress.xml<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:radius="10dp" /> <solid android:color="#f25252" /></shape>这两个基本也是一样的。