FLUTTER ECOSYSTEM

splashbyte/action_slider

액션을 확인하고 이후 로딩 후 성공 여부에 대한 피드백을 제공하는 Flutter 슬라이더입니다.

action_slider 프로젝트 이미지
Stars
44
Forks
13
최근 푸시(UTC)
2025. 1. 19.
프로젝트 상태
활성
SplashByte GitHub avatar
GITHUB Organization

SplashByte ↗

Germany
언어DartHTMLSwiftKotlinObjective-C

이 저장소가 배포한 패키지

사용 중인 의존성

의존성 목록 4 개
  • flutter{"sdk":"flutter"}
  • flutter_test개발 의존성{"sdk":"flutter"}
  • flutter_lints개발 의존성^4.0.0
  • dartdoc개발 의존성^8.0.13

원본 README

아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.

README 펼치기 / 접기

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
)