Step 1. Add the JitPack repository to your build file
Add it in your root settings.gradle at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
}
Add it in your settings.gradle.kts at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url = uri("https://jitpack.io") }
}
}
Add to pom.xml
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Add it in your build.sbt at the end of resolvers:
resolvers += "jitpack" at "https://jitpack.io"
Add it in your project.clj at the end of repositories:
:repositories [["jitpack" "https://jitpack.io"]]
Step 2. Add the dependency
dependencies {
implementation 'com.github.jitpack-io:ProgressWheel:1.0'
}
dependencies {
implementation("com.github.jitpack-io:ProgressWheel:1.0")
}
<dependency>
<groupId>com.github.jitpack-io</groupId>
<artifactId>ProgressWheel</artifactId>
<version>1.0</version>
</dependency>
libraryDependencies += "com.github.jitpack-io" % "ProgressWheel" % "1.0"
:dependencies [[com.github.jitpack-io/ProgressWheel "1.0"]]
This is a custom component for Android intended for use instead of a progress bar.
XML:
To implement the view in your xml layout do the following:
<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>
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:
<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.
To use it as a library in Android Studio, please edit build.gradle.
Modify:
apply plugin: 'android'
Into:
apply plugin: 'android-library'
Since Android SDK Tools revision 17 (released March 2012), this component can be used as a library project. In this case, you do not need to copy anything into your project's attrs.xml, and you must use the following namespace URI, instead of the above:
xmlns:ProgressWheel="http://schemas.android.com/apk/res-auto"
Otherwise, usage should be the same.
Todd Davies - @Todd__Davies - 2012