安卓 UI系列之ProgressBar
系统默认样式进度条
/** * Android 七种进度条的样式 * http://www.jb51.net/article/71269.htm 七种样式 * http://www.cnblogs.com/Yang-jing/p/3757219.html 属性详解 */
基于系统进度条自定义样式
/** * 基于系统自定义样式的进度条 * http://www.jb51.net/article/91909.htm 百分比样式 * http://www.jb51.net/article/96146.htm 加载样式 */
<ProgressBar android:id="@+id/pb_progressbar" style="@style/StyleProgressBarMini" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="30dp" android:background="@drawable/shape_progressbar_bg" android:max="100" android:progress="50" />
values/styles.xml
<style name="StyleProgressBarMini" parent="@android:style/Widget.ProgressBar.Horizontal"> <item name="android:maxHeight">50dip</item> <item name="android:minHeight">10dip</item> <item name="android:indeterminateOnly">false</item> <item name="android:indeterminateDrawable"> @android:drawable/progress_indeterminate_horizontal </item> <item name="android:progressDrawable">@drawable/shape_progressbar_mini</item> </style>
drawable/shape_progressbar_bg.xml
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#cecece" /> <corners android:radius="90dp" /> <padding android:bottom="1dp" android:left="1dp" android:right="1dp" android:top="1dp" /> </shape>
drawable/shape_progressbar_mini.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> <corners android:radius="5dip" /> <gradient android:angle="270" android:centerY="0.75" android:endColor="#FFFFFF" android:startColor="#FFFFFF" /> </shape> </item> <item android:id="@android:id/secondaryProgress"> <clip> <shape> <corners android:radius="0dip" /> <gradient android:angle="270" android:centerY="0.75" android:endColor="#df0024" android:startColor="#df0024" /> </shape> </clip> </item> <item android:id="@android:id/progress"> <clip> <shape> <corners android:radius="5dip" /> <gradient android:angle="270" android:centerY="0.75" android:endColor="#0c07ff" android:startColor="#33fd00" /> </shape> </clip> </item> </layer-list>
百分比进度条
/** * 自定义进度条样式示例3 * 参考项目: * https://github.com/hongyangAndroid/Android-ProgressBarWidthNumber */