一: 1:创建自定义progressbar圆形样式文件/res/drawable/progressbar.xml
<?xml version="1.0"encoding="utf-8"?>
<rotatexmlns:android="http://schemas.android.com/apk/res/android"
android:pivotX="50%" android:pivotY="50%"android:fromDegrees="0"
android:toDegrees="360">
<shape android:shape="ring"android:innerRadiusRatio="3"
android:thicknessRatio="8"android:useLevel="false">
<gradient android:type="sweep" android:useLevel="false"
android:startColor="#000000"android:centerColor="#FFFFFF"
android:centerY="0.50" android:endColor="#1E90FF"/>
</shape>
</rotate>
2:布局文件/res/layout/test.xml中调用上面的自定义样式文件
<ProgressBar
android:id="@+id/p_entry_progress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
style="?android:attr/progressBarStyleLarge"
android:indeterminateDrawable="@drawable/progressbar"
/>
style="?android:attr/progressBarStyleLarge"
进度条样式:progressBarStyleLarge 大圆
progressBarStyleSmall 小圆
没有此项 普通大小,可通过宽高设置进度条大小
android的ProgressBar的setIndeterminate(false);
不明确(false)就是滚动条的当前值自动在最小到最大值之间来回移动,形成这样一个动画效果,这个只是告诉别人“我正在工作”,但不能提示工作进度到哪个阶段。主要是在进行一些无法确定操作时间的任务时作为提示。而“明确”(true)就是根据你的进度可以设置现在的进度值。
*******************************************************************************
二条形进度条
progressbar_layer_list.xml
<?xml version="1.0"encoding="UTF-8"?>
<layer-listxmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@android:id/background"
android:drawable="@drawable/progressbar_bg">
</item>
<item
android:id="@android:id/progress"
android:drawable="@drawable/progressbar_progress">
</item>
</layer-list>
图片 progressbar_progress 注意此图片左右都有半个像素的透明色,这是出现格子进度的关键
progressbar_bg
调用
<ProgressBar
android:id="@+id/ecg_init_progressbar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="fill_parent"
android:layout_height="10dp"
android:max="100"
android:progress="0"
android:paddingLeft="1dp"
android:paddingRight="1dp"
android:progressDrawable="@drawable/progressbar_layer_list"/> -----》关键语句
Activity中
/**
* 设置进度条进度格子形状
*/
public void setInitProgress() {
initProgressbar.incrementProgressBy(20);
setProgress(100* initProgressbar.getProgress());
}