<!--横向进度条-->
<ProgressBar
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_marginTop="20dp"
android:max="100"
android:progress="10"
android:progressDrawable="@drawable/web_pb"
/>
<!--圆形进度条-->
<ProgressBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:indeterminateDrawable="@drawable/shape_40_0_0_0d95ff"/>
<!--带数字的横向进度条-->
<com.daimajia.numberprogressbar.NumberProgressBar
android:id="@+id/npb_update_dialog_update_progress"
style="@style/NumberProgressBar_Update"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_marginTop="20dp"
android:padding="10dp"
app:progress_current="20"
app:progress_max="100"
/>
横向进度条
style="?android:attr/progressBarStyleHorizontal"
制定进度条为横向,改变样式通过 android:progressDrawable="@drawable/web_pb"
,其实就是自定义一个shape图形,指定背景和进度
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<!--背景-->
<item android:id="@android:id/background">
<shape>
<corners android:radius="2dp" />
<gradient
android:angle="270"
android:centerColor="#E3E3E3"
android:endColor="#E6E6E6"
android:startColor="#C8C8C8" />
</shape>
</item>
<!--进度-->
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="2dp" />
<gradient
android:centerColor="@color/color_0d95ff"
android:endColor="@color/color_0d95ff"
android:startColor="@color/color_0d95ff" />
</shape>
</clip>
</item>
</layer-list>
第二进度 通过 <item android:id="@android:id/secondaryProgress">
指定
环形进度条
android:indeterminateDrawable="@drawable/shape_40_0_0_0d95ff"
其实是一个旋转动画的文件
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/shape_loading"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="359" >
</rotate>
shape_loading:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="ring"
android:innerRadius="100dp"
android:thickness="10dp"
android:useLevel="false">
<stroke
android:width="10dp"
android:color="#ad7997"
/>
</shape>
android:innerRadius 指圆环的内半径,和android:innerRadiusRatio同时存在时,以android:innerRadius为准;
android:thickness 指圆环的厚度,即外半径减去内半径的大小,和android:thicknessRatio同时存在时,以android:thickness为准;
android:useLevel 官方文档建议使用false,否则可能无法达到预期显示效果。
NumberProgressBar是github的带数字的进度条:效果图如下:

资料: