Skip to content

A Flutter slider to confirm actions and provide feedback on the success of these after subsequent loading.

License

Notifications You must be signed in to change notification settings

splashbyte/action_slider

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c51d8eb · Jan 19, 2025

History

82 Commits
Dec 28, 2022
Sep 21, 2024
Sep 22, 2024
Jul 30, 2023
Feb 21, 2022
Dec 28, 2021
Dec 28, 2021
Dec 28, 2021
Sep 22, 2024
Aug 9, 2024
Jan 19, 2025
Jul 29, 2023
Sep 21, 2024

Repository files navigation

pub.dev github likes downloads pub points license buy me a coffee

If you like this package, please leave a like there on pub.dev and star on GitHub.

A fully customizable slider to confirm actions and provide feedback on the success. It supports different states like loading, success and failure.

LTR and RTL are both supported.
For a switch with a similar look, you can check out animated_toggle_switch.

Examples

ActionSlider.standard() with SliderBehavior.stretch
action_slider_example_snake
action_slider_example_expanded

ActionSlider.dual()
action_slider_example_dual
action_slider_example_dual_customized

ActionSlider.standard() with TextDirection.rtl
action_slider_example_rtl

ActionSlider.standard() with SliderIconAnimation.roll
action_slider_example_rolling

ActionSlider.standard() with SliderBehavior.stretch and SliderIconAnimation.roll
action_slider_example_rolling_snake

You can build your own sliders with ActionSlider.custom()
action_slider_example_custom

Easy Usage

Easy to use and highly customizable.

ActionSlider.standard(
    child: const Text('Slide to confirm'),
    action: (controller) async {
        controller.loading(); //starts loading animation
        await Future.delayed(const Duration(seconds: 3));
        controller.success(); //starts success animation
    },
    ... //many more parameters
)

Two directions with ActionSlider.dual

ActionSlider.dual(
    child: const Text('Slide to confirm'),
    startAction: (controller) async {
        controller.success(expanded: true, side: SliderSide.start); //starts success animation with an expanded slider
    },
    endAction: (controller) async {
        controller.success(); //starts success animation
    },
    ... //many more parameters
)

Maximum customizability with ActionSlider.custom.

ActionSlider.custom(
    foregroundBuilder: (context, state, child) => ...,
    backgroundBuilder: (context, state, child) => ...,
    outerBackgroundBuilder: (context, state, child) => ...,
    action: (controller) => ...,
    ... //many more parameters
)

About

A Flutter slider to confirm actions and provide feedback on the success of these after subsequent loading.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages