android自定义水平长方形进度条,Android 自定义水平进度条的圆角进度

  • Post author:
  • Post category:其他


有时项目中需要实现水平圆角进度,如下两种,其实很简单

format,png

下面开始看代码,先从主界面布局开始看起:

xmlns:tools=”http://schemas.android.com/tools”

android:layout_width=”match_parent”

android:layout_height=”match_parent”

android:gravity=”center”

android:orientation=”vertical”>

android:id=”@+id/progressbar1″

style=”@android:style/Widget.ProgressBar.Horizontal”

android:layout_width=”match_parent”

android:layout_height=”20dp”

android:layout_margin=”10dp”

android:max=”100″

android:progress=”50″

android:progressDrawable=”@drawable/layer_list_progress_drawable_1″ />

android:id=”@+id/progressbar2″

style=”@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布局:

layer_list_progress_drawable_1.xml

android:id=”@android:id/background”

android:drawable=”@drawable/shape_progressbar_bg” />

layer_list_progress_drawable.xml

android:id=”@android:id/background”

android:drawable=”@drawable/shape_progressbar_bg” />

android:drawable=”@drawable/shape_progressbar_progress”

android:scaleWidth=”100%” />

从上面两布局文件可以看出,布局文件基本也是相同的,唯一的区别就是一个用的是clip另一个用的是scale。

如果在layer-list里面进行设置的话,也是要注意item的添加顺序。

下面是背景,和进度文件:

shape_progressbar_bg.xml

shape_progressbar_progress.xml

自定义Android进度条ProgressBar颜色的渐变

自定义Android进度条ProgressBar颜色的渐变其实也很简单,就拿第一个水平进度来说吧,只需要修改一个layer_list_progress_drawable_1.xml和layer_list_progress_drawable.xml就可以了

layer_list_progress_drawable_1.xml

android:id=”@android:id/background”

android:drawable=”@drawable/shape_progressbar_bg” />

android: startColor =”#0484fa”

android: endColor =”#ff00ff” />

layer_list_progress_drawable.xml

android:id=”@android:id/background”

android:drawable=”@drawable/shape_progressbar_bg” />

android:drawable=”@drawable/shape_progressbar_progress”

android:scaleWidth=”100%”>

android: startColor =”#0484fa”

android: endColor =”#ff00ff” />

效果如下图:

format,png