这是一个自定义Android组件,用于代替标准进度条组件。实现各种进度条样式,包括圆环,扫描等。
XML:
To implement the view in your xml layout do the following:
-
Add the following to your attrs.xml file (in res/values):
12345678910111213<
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"
/>
</
declare-styleable
>
-
Add the following code to the root view of your layout:
xmlns:ProgressWheel="http://schemas.android.com/apk/res/com.visualdenim.schooltraq"
-
Add the widget code in the appropriate place in your xml file. Here's a sample implementation:
12345678910111213<
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"
/>
Java:
First you need to either get a ProgressWheel from a layout file, or initalise one. Do this by:
ProgressWheel pw = new ProgressWheel(myContext, myAttributes);
ProgressWheel pw = (ProgressWheel) findViewById(R.id.pw_spinner);
To spin the progress wheel, you just call .spin()
and to stop it spinning, you call .stopSpinning()
Incrementing the progress wheel is slightly more tricky, you call .incrementProgress()
. However, this is out of 360,
(because a circle has 360 degrees), and will automatically reset once you get past 360. A percentage display is
automatically displayed.
留言列表