[flutter] 플러터 커퍼티노 스테퍼를 이용한 알람 간격 조절 기능 구현하기

안녕하세요! 이번에는 플러터에서 iOS 스타일의 스테퍼를 사용하여 알람 간격을 조절하는 기능을 구현하는 방법에 대해 알아보겠습니다.

목차


STEP 1 - 패키지 가져오기

먼저, 플러터 커퍼티노 디자인을 사용하기 위해 flutter/cupertino.dart 패키지를 가져와야 합니다. 이를 위해 pubspec.yaml 파일에 cupertino_icons 의존성을 추가합니다.

dependencies:
  flutter:
    sdk: flutter
  cupertino_icons: ^1.0.2

그리고 패키지를 가져올 main.dart 파일에서 아래와 같이 flutter/cupertino.dart를 import합니다.

import 'package:flutter/cupertino.dart';

STEP 2 - 스테퍼 생성

플러터에서는 애플 디자인 가이드라인에 따라 CupertinoStepper 위젯을 사용하여 iOS 스타일의 스테퍼를 만들 수 있습니다. 먼저, 스테퍼를 표시할 화면 위젯을 생성합니다.

class AlarmPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return CupertinoPageScaffold(
      navigationBar: CupertinoNavigationBar(
        middle: Text('알람 설정'),
      ),
      child: Center(
        child: CupertinoStepper(
          initialValue: 1,
          min: 1,
          max: 10,
          onChanged: (int value) {
            // 스테퍼 값이 변경될 때마다 호출될 콜백 함수
          },
        ),
      ),
    );
  }
}

위 코드에서 CupertinoStepper 위젯의 initialValue는 초기 스테퍼 값, min은 최소 값, max는 최대 값으로 설정할 수 있습니다. onChanged는 스테퍼 값이 변경될 때 호출되는 콜백 함수입니다.


STEP 3 - 알람 간격 조절 기능 구현

스테퍼의 값이 변경될 때마다 호출되는 onChanged 콜백 함수를 구현하여 알람 간격을 조절하는 기능을 완성해봅시다. 예를 들어, onChanged 콜백 함수에서는 알람 간격 값을 저장하거나 다른 기능을 수행할 수 있습니다.

class AlarmPage extends StatelessWidget {
  int alarmInterval = 1;

  @override
  Widget build(BuildContext context) {
    return CupertinoPageScaffold(
      navigationBar: CupertinoNavigationBar(
        middle: Text('알람 설정'),
      ),
      child: Center(
        child: CupertinoStepper(
          initialValue: alarmInterval,
          min: 1,
          max: 10,
          onChanged: (int value) {
            alarmInterval = value;
            print('알람 간격: $alarmInterval 분');
          },
        ),
      ),
    );
  }
}

위 코드에서는 alarmInterval이라는 변수에 스테퍼 값이 저장되며, onChanged에서 이 값을 업데이트하고 출력합니다.


이제 플러터 커퍼티노 스테퍼를 사용하여 알람 간격을 조절하는 기능을 구현하는 방법을 알았습니다. 이를 응용하여 앱의 다양한 기능을 구현해보세요!

더 자세한 내용은 플러터 공식 문서를 참고해주세요.