Skip to content
An easy way to make your progress view nice and sleek.
Kotlin
Branch: master
Clone or download
Latest commit b5ed485 Jul 27, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
buildSrc Version bump Jul 27, 2019
gradle/wrapper Remove android:allowBackup and android:supportsRtl from manifest Jul 21, 2019
lemniscate Fix lineMinLength setter Jul 27, 2019
sample Make CurveData non-nullable Jul 27, 2019
.gitignore Optimization and cleanup Nov 3, 2017
CHANGELOG.md Version bump Jul 27, 2019
LICENSE New curves added Jan 19, 2017
README.md Version bump Jul 27, 2019
build.gradle
gradle.properties First commit Jan 18, 2017
gradlew Optimization and cleanup Nov 3, 2017
gradlew.bat Gradle wrapper added Mar 23, 2017
settings.gradle First commit Jan 18, 2017

README.md

Lemniscate header

License API Android Arsenal Build Status codecov


Lemniscate is a library that will help you to make your progress view nice and sleek.

Lemniscate gif

Demo

Demo application is available on Google Play.

Get it on Google Play

The application is intentionally simple, without any libraries, to be understandable to more developers.

Setup

Add to your module's build.gradle:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

and to your app build.gradle:

AndroidX
dependencies {
    implementation 'com.github.VladimirWrites:Lemniscate:2.0.2'
}
Android Support Library (Depricated)
dependencies {
    implementation 'com.github.VladimirWrites:Lemniscate:1.4.5'
}

Usage

Example of usage:

<com.vlad1m1r.lemniscate.BernoullisProgressView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:duration="1000"
    app:hasHole="false"
    app:lineColor="@color/colorPrimary"
    app:maxLineLength="0.8"
    app:minLineLength="0.4"
    app:sizeMultiplier="1"
    app:strokeWidth="5dp"/>
Params available in all views:
  • duration (int) - duration of one animation cycle in millisecondes
  • lineColor (color) - color of the line
  • maxLineLength (float) - max length of line (in percentage; 1.0 is full length, 0.5 is half of length)
  • minLineLength (float) - min length of line (in percentage; 1.0 is full length, 0.5 is half of length)
  • sizeMultiplier (float) - default size of view will be multiplied with that number
  • strokeWidth (dimension) - width of line
  • precision (int) - number of points in curve calculated in one cycle

Lemniscates

Additional params:
  • hasHole (boolean) - hole in a middle of Lemniscates

Roulettes

Additional params:
  • radiusFixed (float) - radius of fixed circle
  • radiusMoving (float) - radius of moving circle
  • distanceFromCenter (float) - distance from the center of the moving circle
  • numberOfCycles (float) - for one duration curve will be drawn on interval [0, 2 * mNumberOfCycles * π]

Scribble

  • RoundScribbleProgressView
  • ScribbleProgressView

Funny

Other

  • XProgressView

Contributing

Want to contribute? You are welcome! Note that all pull request should go to development branch.

Credits

License

Copyright 2016 Vladimir Jovanovic

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
You can’t perform that action at this time.