All Projects → drozdzynski → Steppers

drozdzynski / Steppers

Steppers view library for Android, based on Google Material design guidelines

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Steppers

Material Colors Native
Material Colors - A React Native App to Select Material Colors for macOS.
Stars: ✭ 246 (-68.7%)
Mutual labels:  material, design
Expectanim
Describe your animation and run !
Stars: ✭ 2,787 (+254.58%)
Mutual labels:  material, design
React Materialui Notifications
Spec compliant notifications for react and material ui users
Stars: ✭ 252 (-67.94%)
Mutual labels:  material, design
React Mdc Web
Material Design Components for React
Stars: ✭ 175 (-77.74%)
Mutual labels:  material, design
Tutoshowcase
A simple and Elegant Showcase view for Android
Stars: ✭ 499 (-36.51%)
Mutual labels:  material, design
Shrine Materialdesign2
implementation of Material Design 2 Shrine project
Stars: ✭ 215 (-72.65%)
Mutual labels:  material, design
timepicker-ui
timepicker-ui is an easy library with timepicker. Fully wrote with TypeScript. This library is based on Material Design from Google.
Stars: ✭ 18 (-97.71%)
Mutual labels:  design, material
Motion
A library used to create beautiful animations and transitions for iOS.
Stars: ✭ 1,726 (+119.59%)
Mutual labels:  material, design
Material Framework
[Unmaintained] An easy to use material design based framework.
Stars: ✭ 383 (-51.27%)
Mutual labels:  material, design
Fabsmenu
A simple library to use a menu of FloatingActionButtons from Design Support Library that follow Material Design Guidelines
Stars: ✭ 324 (-58.78%)
Mutual labels:  material, design
Materialdesign2
A beautiful app designed with Material Design 2 using Android X.
Stars: ✭ 170 (-78.37%)
Mutual labels:  material, design
Kotlinpleaseanimate
Kotlin, please, can you animate my views ?
Stars: ✭ 541 (-31.17%)
Mutual labels:  material, design
Material Apex
A Material Design Theme for Oracle APEX
Stars: ✭ 161 (-79.52%)
Mutual labels:  material, design
Dialogsheet
An Android library to create fully material designed bottom dialogs similar to the Android Pay app.
Stars: ✭ 236 (-69.97%)
Mutual labels:  material, design
Material
A UI/UX framework for creating beautiful applications.
Stars: ✭ 11,870 (+1410.18%)
Mutual labels:  material, design
react-mdl-extra
React MDL Extra components
Stars: ✭ 41 (-94.78%)
Mutual labels:  design, material
Material Discord
Material design theme for Discord
Stars: ✭ 127 (-83.84%)
Mutual labels:  material, design
Arclayout
With Arc Layout explore new styles and approaches on material design
Stars: ✭ 1,662 (+111.45%)
Mutual labels:  material, design
Md Date Time Picker
An implementation of Material Design Picker components in vanilla CSS, JS, and HTML
Stars: ✭ 272 (-65.39%)
Mutual labels:  material, design
Materialdesignextensions
Material Design Extensions is based on Material Design in XAML Toolkit to provide additional controls and features for WPF apps
Stars: ✭ 516 (-34.35%)
Mutual labels:  material, stepper

Steppers

Screen

Setup

1. Add library to project

Grab via Gradle:

dependencies {
    compile 'me.drozdzynski.library.steppers:steppers:1.0.0'
}

Manual

  • Download the library folder.
  • Copy to root project folder
  • Add to your settings.gradle file the following code line: "include ':app', ':steppers'"
  • Rebuild the project
  • Add dependency
    • File → Project Structure
    • in Modules section click on "app"
    • Click on tab "Dependecies"
    • Click on the green plus
    • Module Dependecy
    • Select ":library"
  • Done

2. Add view in XML Layout

<me.drozdzynski.library.steppers.SteppersView
    android:id="@+id/steppersView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

3. Setup config for SteppersView

SteppersView.Config steppersViewConfig = new SteppersView.Config();
steppersViewConfig.setOnFinishAction(new OnFinishAction() {
    @Override
    public void onFinish() {
        // Action on last step Finish button
    }
});

steppersViewConfig.setOnCancelAction(new OnCancelAction() {
    @Override
    public void onCancel() {
        // Action when click cancel on one of steps
    }
});

steppersViewConfig.setOnChangeStepAction(new OnChangeStepAction() {
    @Override
    public void onChangeStep(int position, SteppersItem activeStep) {
        // Action when click continue on each step
    }
});

// Setup Support Fragment Manager for fragments in steps
steppersViewConfig.setFragmentManager(getSupportFragmentManager());

4. Create steps list

ArrayList<SteppersItem> steps = new ArrayList<>();

SteppersItem stepFirst = new SteppersItem();

stepFirst.setLabel("Title of step");
stepFirst.setSubLabel("Subtitle of step");
stepFirst.setFragment(new SomeFragment());
stepFirst.setPositiveButtonEnable(false);

steps.add(stepFirst);

5. Set config, list and build view;

SteppersView steppersView = (SteppersView) findViewById(R.id.steppersView);
steppersView.setConfig(steppersViewConfig);
steppersView.setItems(steps);
steppersView.build();

Other functions

Enable skip step button

Simple:

item.setSkippable(true);

With callback:

item.setSkippable(true, new OnSkipStepAction() {
    @Override
    public void onSkipStep() {
        // Some action after step is skipped
    }
});

Override continue button

item.setOnClickContinue(new OnClickContinue() {
    @Override
    public void onClick() {
        // Some action on click
        
        steppersView.nextStep(); // Now You must call next step
    }
});

Change active step

steppersView.setActiveItem(1); // step index from 0 

Disable cancel button (hide)

steppersViewConfig.setCancelAvailable(false);

License

Copyright (C) 2015-2017 Krystian Drożdżyński

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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].