패키지, 저장소 및 앱 카테고리 검색

loading_btn 표지
패키지 상세v1.0.3

loading_btn

많은 사용자 정의 속성을 가진 아름다운 로딩 버튼을 만들 수 있는 애니메이션 로딩 버튼 패키지입니다.

AndroidiOSWebmacOSWindowsLinux
30일 다운로드
308
좋아요
28
Pub 점수
140

패키지 설치

flutter pub add loading_btn

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

loading_btn은 사용자 정의 가능한 스타일과 동작을 제공하는 애니메이션 로딩 버튼을 제공하는 Flutter 패키지입니다. 개발자가 일반 상태와 로딩 상태 사이를 부드럽게 전환하는 시각적으로 매력적인 버튼을 만들 수 있게 해주며, 폼이나 사용자 피드백이 필요한 작업에 이상적입니다. 색상, 모양, 애니메이션 및 텍스트에 대한 광범위한 사용자 지정 옵션을 통해 플랫폼 간 사용자 경험을 향상시킵니다. 이 패키지는 모든 주요 Flutter 플랫폼을 지원하여 크로스플랫폼 애플리케이션에 유연하게 활용할 수 있습니다.

사용 사례

  • 폼 제출
  • 사용자 인증 흐름
  • 데이터 가져오기 작업
  • 인터랙티브 UI 요소
  • 로딩 상태 표시기

주요 기능

  • 사용자 정의 애니메이션 지속 시간
  • 다양한 로딩 스타일 지원
  • 사용자 정의 가능한 버튼 색상 및 모양
  • 반응형 디자인 지원
  • 기존 위젯과의 간편한 통합
  • 크로스 플랫폼 호환성

적합한 대상

  • 인터랙티브 앱을 개발하는 개발자
  • 디자인 중심의 UI 구현
  • 명확한 로딩 피드백이 필요한 앱
  • 사용자 경험을 우선시하는 팀
  • 자주 폼 상호작용이 있는 프로젝트

고려 사항

  • 복잡한 디자인을 위해 추가적인 스타일링이 필요할 수 있습니다
  • 많은 인스턴스로 인한 성능 영향
  • 제한된 내장 오류 처리
  • 외부 애니메이션 라이브러리에 의존
  • 상호작용이 없는 버튼 사용 사례에는 적합하지 않습니다

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

Loading Btn

Create animated loading button using loading_btn package with lots of properties.

Getting started

Loading Btn package helps you create beautiful loading animation in your buttons with customized loader. Loading Btn is basically an ElevatedButton widget that means you can use the usual parameters with a few extra functionalities.

Demo

Usage

Loading Button with CircularProgress widget
LoadingBtn(
    height: 50,
    borderRadius: 8,
    animate: true,
    color: Colors.green,
    width: MediaQuery.of(context).size.width * 0.45,
    loader: Container(
        padding: const EdgeInsets.all(10),
        width: 40,
        height: 40,
        child: const CircularProgressIndicator(
            valueColor: AlwaysStoppedAnimation<Color>(Colors.white),
        ),
    ),
    child: const Text("Login"),
    onTap: (startLoading, stopLoading, btnState) async {
        if (btnState == ButtonState.idle) {
            startLoading();
            // call your network api
            await Future.delayed(const Duration(seconds: 5));
            stopLoading();
        }
    },
),
Loading Button with custom Text
LoadingBtn(
    height: 50,
    borderRadius: 8,
    roundLoadingShape: false,
    color: Colors.blueAccent,
    width: MediaQuery.of(context).size.width * 0.45,
    minWidth: MediaQuery.of(context).size.width * 0.30,
    loader: const Text("Loading..."),
    child: const Text("Login"),
    onTap: (startLoading, stopLoading, btnState) async {
        if (btnState == ButtonState.idle) {
            startLoading();
            // call your network api
            await Future.delayed(const Duration(seconds: 5));
            stopLoading();
        }
    },
),
Loading Button with custom loading
LoadingBtn(
    height: 50,
    borderRadius: 8,
    animate: true,
    color: Colors.deepOrange,
    width: MediaQuery.of(context).size.width * 0.45,
    loader: Container(
      padding: const EdgeInsets.all(10),
      child: const Center(
          child: SpinKitDoubleBounce(
            color: Colors.white,
          ),
      ),
    ),
    child: const Text("Login"),
    onTap: (startLoading, stopLoading, btnState) async {
        if (btnState == ButtonState.idle) {
            startLoading();
            // call your network api
            await Future.delayed(const Duration(seconds: 5));
            stopLoading();
        }
    },
),

Properties

  • animate(Default false) : It uses width to animate while click on button
  • roundLoadingShape(Default true) : It uses borderRadius to creates a round button while in Busy/Loading state
  • width : Width of the button when in Idle state
  • minWidth : Width of the button when in Busy/Loading state. Default value is equal to height in order to create a completely round loading button
  • borderRadius : Border Radius of the button
  • borderSide : BorderSide in order to give border color and width to the button
  • child : Contents of button when in Idle state
  • loader : Contents of button when in Busy/Loading state
  • onTap : (startLoading, stopLoading, btnState) : Function that is called when you click on the button
  • duration : Duration of the animation
  • curve : Curve of animation
  • reverseCurve : Curve of reverse animation

MIT License

Copyright (c) 2022 Yasin Mohammadi

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

카테고리

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.