Linear Timer is a custom view for Android that enables circular progress animation with respect to given duration.
If you're using this library, please let me know; I'll feature your app in this readme.
Linear Timer follows the Semantic Versioning System.
It is currently on version v1.0.0.
Setup is pretty straight forward. In your root 'build.gradle' add the following -
allprojects {
repositories {
jcenter()
maven { url "https://jitpack.io" }
}
}
And, in your app 'build.gradle' add this -
compile 'com.github.krtkush:LinearTimer:v1.0.0'
under dependencies.
First, you need the following view in your layout XML -
xmlns:app="http://schemas.android.com/apk/res-auto"
<io.github.krtkush.lineartimer.LinearTimerView
android:id="@+id/linearTimer"
android:layout_centerInParent="true"
android:layout_width="120dp"
android:layout_height="120dp"
app:radius="20dp"
app:strokeWidth="3dp"
app:startingPoint="270"
app:preFillPoint="0" />
Here is a list of attributes available to toggle the LinearTimer's basic style -
- radius - The radius of the circle.
- strokeWidth - the thickness of the circle boundary.
- startingPoint - The angle from where, in the timer, you want the animation to start. 270 is the 12 O'Clock position.
- preFillPoint - The angle up-till which you want the circle to be pre-filled.
- initialColor - The initial color of the circle.
- progressColor - The color of the prgress arc that animates over the initial color.
After adding the view, here is how the View is initiaized and used -
LinearTimerView linearTimerView = (LinearTimerView) findViewById(R.id.linearTimer);
LinearTimer linearTimer = new LinearTimer(linearTimerView);
/**
* Start the timer.
*
* First argument represents the angle at which the animation should finish.
* Second argument represents the duration of the animation in milliseconds.
*/
linearTimer.startTimer(360, 60 * 1000);
/**
* Reset the timer to the start angle and then start the progress again.
*/
linearTimer.restartTimer();
/**
* Method to reset the timer to start angle.
*/
linearTimer.resetTimer();
Any kind of contribution will be appreciated; feel free to create a pull request or file issues on the issue tracker. If you'd like to contact me, you can reach me at kartikey92[at]gmail.com.