ProgressWheel:Android开源圆环进度条


这是一个自定义Android组件,用于代替标准进度条组件。实现各种进度条样式,包括圆环,扫描等。

XML:

在你的attr.xml(res/value)中加入以下

<declare-styleable name="ProgressWheel"> 
    <attr name="text"format="string"/> 
    <attr name="textColor"format="color"/> 
    <attr name="textSize"format="dimension"/> 
    <attr name="barColor"format="color"/> 
    <attr name="rimColor"format="color"/> 
    <attr name="rimWidth"format="dimension"/> 
    <attr name="spinSpeed"format="integer"/>   
    <attr name="circleColor"format="color"/>   
    <attr name="radius"format="dimension"/> 
    <attr name="barWidth"format="dimension"/> 
    <attr name="barLength"format="dimension"/>
    <attr name="delayMillis"format="dimension"/>
    <attr name="contourColor"format="color"/>
    <attr name="contourSize"format="float"/>
</declare-styleable>

在你的root view 中加入

xmlns:ProgressWheel="http://schemas.android.com/apk/res/com.visualdenim.schooltraq"

在你的xml合适的地方加入 组件

<com.todddavies.components.progressbar.ProgressWheel 
    android:id="@+id/pw_spinner"   
    android:layout_width="200dp" 
    android:layout_height="200dp" 
    android:layout_centerInParent="true" 
    ProgressWheel:text="Authenticating..." 
    ProgressWheel:textColor="#222" 
    ProgressWheel:textSize="14sp" 
    ProgressWheel:rimColor="#330097D6" 
    ProgressWheel:barLength="60dp" 
    ProgressWheel:barColor="#0097D6" 
    ProgressWheel:barWidth="5dp" 
    ProgressWheel:rimWidth="2dp"/>

你需要从layout中获得进度条,或者初始化

ProgressWheel pw = newProgressWheel(myContext, myAttributes);
ProgressWheel pw = (ProgressWheel) findViewById(R.id.pw_spinner);

使用.spin() 开始进度条滚动, .stopSpinning 停止进度条滚动

增加进度有点棘手,  你可以调用.incrementProgress(), 但是这样就超过了360度, 因为一个圆有360度, 你超过360度就会自动重置, 一个百分百自动分配。

相关内容