• Stars
    star
    684
  • Rank 66,068 (Top 2 %)
  • Language
    Kotlin
  • License
    Apache License 2.0
  • Created over 7 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Stepper Touch for Android based on MaterialUp submission

Stepper-Touch

Twitter API Awesome Kotlin Badge CircleCI

For more updates on this and other open-source projects, follow me on twitter 👉 here


Stepper Touch for Android based on a Material Up showcase designed by Oleg Frolov

In the latest version of the support library (25.3.0) a new class SpringAnimation was made available. I wanted to test this out and not long after that I found Stepper Touch, a concept made in FramerJS, on Material Up. I took this oppertunity to play with SpringAnimations.

Try it yourself:

Gradle

  • Step 1. Add the JitPack repository to your build file
allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}
  • Step 2. Add the dependency (only for androidx projects)
dependencies {
    implementation 'com.github.DanielMartinus:Stepper-Touch:1.0.1'
}

If you haven't migrated your project to AndroidX use:

dependencies {
    implementation 'com.github.DanielMartinus:Stepper-Touch:0.6'
}

More info about it here: #24

Implement

<nl.dionsegijn.steppertouch.StepperTouch
        android:id="@+id/stepperTouch"
        android:layout_width="100dp"
        android:layout_height="40dp" />

Kotlin

val stepperTouch = findViewById<StepperTouch>(R.id.stepperTouch)
stepperTouch.minValue = 0
stepperTouch.minValue = 10
stepperTouch.sideTapEnabled = true
stepperTouch.addStepCallback(object : OnStepCallback {
	override fun onStep(value: Int, positive: Boolean) {
    		Toast.makeText(applicationContext, value.toString(), Toast.LENGTH_SHORT).show()
	}
})

Java

StepperTouch stepperTouch = findViewById(R.id.stepperTouch);
stepperTouch.setMinValue(0);
stepperTouch.setMaxValue(3);
stepperTouch.setSideTapEnabled(true);
stepperTouch.addStepCallback(new OnStepCallback() {
    @Override
    public void onStep(int value, boolean positive) {
        Toast.makeText(getApplicationContext(), value + "", Toast.LENGTH_SHORT).show();
    }
});

You're able to further customize or set initial values with styled attributes:

  1. Add res-auto to your xml layout if you haven't yet
xmlns:app="http://schemas.android.com/apk/res-auto"
  1. After that the following attributes will become available:
app:stepperBackgroundColor=""
app:stepperButtonColor=""
app:stepperActionsColor=""
app:stepperActionsDisabledColor=""
app:stepperTextColor=""
app:stepperTextSize=""
app:app:stepperAllowNegative=""
app:app:stepperAllowPositive=""