Git Product home page Git Product logo

stepper's Introduction

Stepper

Fancy Step Wizard 😎

Build Status api jitpack jitpack

Summary

Stepper, helps you to show beautiful step animation especially registration steps or some process which contains lots of steps. In order to notify to user and show the current situation and prevent them to be bored.

Download

This library is available in jitpack, so you need to add this repository to your root build.gradle at the end of repositories:

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

Add the dependency:

dependencies {
    implementation 'com.github.TayfunCesur:Stepper:1.0.2'
}

Sample Usage

A sample project in Kotlin that demonstrates the lib usage here. Depends on your usa case, in general you must use the Stepper in your activity, and you must call it from your fragment.

    <com.tayfuncesur.stepper.Stepper
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            android:id="@+id/stepper"
    >

        //You can use any view inside
        //Freedom!!!
        <View android:layout_width="wrap_content"
              android:layout_height="10dp"
              android:id="@+id/StepperView"
              android:background="@drawable/gradient"/>

    </com.tayfuncesur.stepper.Stepper>

In your Activity/Fragment

To go forward

stepper.forward()

To go back

stepper.back()

To progress

stepper.progress(loopsize = 3) // Default value is 0

Bonus(Complete Listener)

stepper.progress(loopsize = 3).addOnCompleteListener {
    // Here some magic stuffs
}

Customizations

Property Type Description
stepCount integer The default step count is 5. Each count will be calculated with respect to your screen width.
duration integer The default duration is 500 milliseconds. This value effects your each step animation

Coloring

You can use the backgroundColor attribute for coloring whole background of stepper. And use the inner views background for coloring animation side.

Project Maintained By

Open-Source Enthusiast | Android Engineer

Greetings

If you have any questions, hit me on Twitter

Licence

Copyright 2019 Tayfun CESUR

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.

stepper's People

Contributors

tayfuncesur avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

stepper's Issues

android.view.InflateException: Binary XML file line #8: Binary XML file line #8: Error inflating class com.tayfuncesur.stepper.Stepper

Hi I'm trying to implement this library in my application but unfortunately I encountered this error.

Here is the Log.

E/AndroidRuntime: FATAL EXCEPTION: main Process: com.escoglobal.escolifeapps, PID: 20077 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.escoglobal.escolifeapps/com.escoglobal.escolifeapps.ui.signup.RegistrationActivity}: android.view.InflateException: Binary XML file line #8: Binary XML file line #8: Error inflating class com.tayfuncesur.stepper.Stepper at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2913) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:6669) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) Caused by: android.view.InflateException: Binary XML file line #8: Binary XML file line #8: Error inflating class com.tayfuncesur.stepper.Stepper Caused by: android.view.InflateException: Binary XML file line #8: Error inflating class com.tayfuncesur.stepper.Stepper Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.newInstance0(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:343) at android.view.LayoutInflater.createView(LayoutInflater.java:647) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730) at android.view.LayoutInflater.rInflate(LayoutInflater.java:863) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) at android.view.LayoutInflater.inflate(LayoutInflater.java:515) at android.view.LayoutInflater.inflate(LayoutInflater.java:423) at android.view.LayoutInflater.inflate(LayoutInflater.java:374) at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469) at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) at com.escoglobal.escolifeapps.ui.signup.RegistrationActivity.onCreate(RegistrationActivity.java:29) at android.app.Activity.performCreate(Activity.java:7136) at android.app.Activity.performCreate(Activity.java:7127) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:6669) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lkotlin/jvm/internal/Intrinsics; at com.tayfuncesur.stepper.Stepper.<init>(Unknown Source:2) at com.tayfuncesur.stepper.Stepper.<init>(Stepper.kt:12) at com.tayfuncesur.stepper.Stepper.<init>(Unknown Source:6) at java.lang.reflect.Constructor.newInstance0(Native Method)  at java.lang.reflect.Constructor.newInstance(Constructor.java:343)  at android.view.LayoutInflater.createView(LayoutInflater.java:647)  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790)  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)  at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)  at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)  at android.view.LayoutInflater.inflate(LayoutInflater.java:515)  at android.view.LayoutInflater.inflate(LayoutInflater.java:423)  at android.view.LayoutInflater.inflate(LayoutInflater.java:374)  at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)  at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)  at com.escoglobal.escolifeapps.ui.signup.RegistrationActivity.onCreate(RegistrationActivity.java:29)  at android.app.Activity.performCreate(Activity.java:7136)  at android.app.Activity.performCreate(Activity.java:7127)  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893)  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)  at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)  at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)  at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)  at android.os.Handler.dispatchMessage(Handler.java:106)  at android.os.Looper.loop(Looper.java:193)  at android.app.ActivityThread.main(ActivityThread.java:6669)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)  E/AndroidRuntime: Caused by: java.lang.ClassNotFoundException: Didn't find class "kotlin.jvm.internal.Intrinsics" on path: DexPathList[[zip file "/data/app/com.escoglobal.escolifeapps-bQjVNDoeQJxwjuOhbJ7VDg==/base.apk", zip file "/data/app/com.escoglobal.escolifeapps-bQjVNDoeQJxwjuOhbJ7VDg==/split_lib_dependencies_apk.apk", zip file "/data/app/com.escoglobal.escolifeapps-bQjVNDoeQJxwjuOhbJ7VDg==/split_lib_resources_apk.apk", zip file "/data/app/com.escoglobal.escolifeapps-bQjVNDoeQJxwjuOhbJ7VDg==/split_lib_slice_0_apk.apk", zip file "/data/app/com.escoglobal.escolifeapps-bQjVNDoeQJxwjuOhbJ7VDg==/split_lib_slice_1_apk.apk", zip file "/data/app/com.escoglobal.escolifeapps-bQjVNDoeQJxwjuOhbJ7VDg==/split_lib_slice_2_apk.apk", zip file "/data/app/com.escoglobal.escolifeapps-bQjVNDoeQJxwjuOhbJ7VDg==/split_lib_slice_3_apk.apk", zip file "/data/app/com.escoglobal.escolifeapps-bQjVNDoeQJxwjuOhbJ7VDg==/split_lib_slice_4_apk.apk", zip file "/data/app/com.escoglobal.escolifeapps-bQjVNDoeQJxwjuOhbJ7VDg==/split_lib_slice_5_apk.apk", zip file "/data/app/com.escoglobal.escolifeapps-bQjVNDoeQJxwjuOhbJ7VDg==/split_lib_slice_6_apk.apk", zip file "/data/app/com.escoglobal.escolifeapps-bQjVNDoeQJxwjuOhbJ7VDg==/split_lib_slice_7_apk.apk", zip file "/data/app/com.escoglobal.escolifeapps-bQjVNDoeQJxwjuOhbJ7VDg==/split_lib_slice_8_apk.apk", zip file "/data/app/com.escoglobal.escolifeapps-bQjVNDoeQJxwjuOhbJ7VDg==/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.escoglobal.escolifeapps-bQjVNDoeQJxwjuOhbJ7VDg==/lib/x86, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) ... 31 more Suppressed: java.io.IOException: No original dex files found for dex location /data/app/com.escoglobal.escolifeapps-bQjVNDoeQJxwjuOhbJ7VDg==/split_lib_resources_apk.apk at dalvik.system.DexFile.openDexFileNative(Native Method) at dalvik.system.DexFile.openDexFile(DexFile.java:354) at dalvik.system.DexFile.<init>(DexFile.java:101) at dalvik.system.DexFile.<init>(DexFile.java:75) at dalvik.system.DexPathList.loadDexFile(DexPathList.java:394) at dalvik.system.DexPathList.makeDexElements(DexPathList.java:354) at dalvik.system.DexPathList.<init>(DexPathList.java:164) at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:74) at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:65) at dalvik.system.PathClassLoader.<init>(PathClassLoader.java:64) at com.android.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:73) at com.android.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:88) at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:74) at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:40) at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:727) at android.app.LoadedApk.getClassLoader(LoadedApk.java:810) at android.app.LoadedApk.getResources(LoadedApk.java:1032) at android.app.ContextImpl.createAppContext(ContextImpl.java:2345) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5749) at android.app.ActivityThread.access$1100(ActivityThread.java:199) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650) ... 6 more

Toolbar missed?

Hi, a simple question:
Why is not using the Toolbar to handle the screens to go back without arrow animation in every screen?
Also, you can add a view inside the Toolbar to show the progress.
Good job!
;)

rtl support

hi
i wanna use this library in my project.
this library direction is left to right for Next and right to left for Previous.
i wanna change direction to right to left for Next and left to right for Previous.
is it possible?

thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.