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

플러터는 Google에서 개발한 모바일 애플리케이션 개발 프레임워크로, 다양한 플랫폼에서 동작하는 네이티브 앱을 개발할 수 있도록 도와줍니다. 이번에는 플러터의 커퍼티노 스테퍼를 이용하여 소리의 크기를 조절하는 알람 기능을 구현해보겠습니다.

1. 커퍼티노 스테퍼 위젯 추가하기

먼저, 프로젝트의 pubspec.yaml 파일에 ‘cupertino_icons’ 패키지를 추가합니다. 이 패키지는 iOS 스타일 아이콘을 사용할 수 있도록 도와줍니다. 아래와 같이 dependencies 섹션에 추가합니다.

dependencies:
  flutter:
    sdk: flutter
  cupertino_icons: ^1.0.2

다음으로, main.dart 파일을 열고 아래와 같이 필요한 패키지를 import합니다.

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

2. 알람 설정 페이지 생성하기

이제 알람 설정 페이지를 작성해보겠습니다. main.dart 파일을 열고 기본적인 앱 뼈대를 작성합니다.

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: AlarmSettingsPage(),
    );
  }
}

class AlarmSettingsPage extends StatefulWidget {
  @override
  _AlarmSettingsPageState createState() => _AlarmSettingsPageState();
}

class _AlarmSettingsPageState extends State<AlarmSettingsPage> {
  double _volume = 0.5; // 초기 알람 소리 크기

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('알람 설정'),
      ),
      body: Container(
        padding: EdgeInsets.all(16.0),
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
              '알람 소리 크기',
              style: TextStyle(
                fontSize: 24.0,
                fontWeight: FontWeight.bold,
              ),
            ),
            SizedBox(height: 16.0),
            CupertinoSlider(
              value: _volume,
              min: 0.0,
              max: 1.0,
              onChanged: (value) {
                setState(() {
                  _volume = value;
                });
              },
            ),
            SizedBox(height: 16.0),
            Text(
              '현재 소리 크기: ${(_volume * 100).toInt()}%',
              style: TextStyle(fontSize: 16.0),
            ),
          ],
        ),
      ),
    );
  }
}

위 코드에서는 AlarmSettingsPage 클래스를 사용하여 알람 설정 페이지를 구현하고 있습니다. _volume 변수는 현재 알람 소리 크기를 나타내는 값으로, 초기값은 0.5로 설정되어 있습니다.

CupertinoSlider 위젯을 사용하여 알람 소리 크기를 조절할 수 있는 슬라이더를 추가했습니다. min 속성은 슬라이더의 최소값을, max 속성은 최대값을 설정합니다. onChanged 콜백 함수는 슬라이더가 변경되면 호출되며, 현재 소리 크기를 업데이트합니다.

3. 앱 실행하기

이제 앱을 실행해보면 알람 소리 크기를 조절할 수 있는 슬라이더가 표시되는 것을 확인할 수 있습니다. 슬라이더를 조작하면 현재 소리 크기가 실시간으로 업데이트되는 것을 확인할 수 있습니다.

위 예제 코드를 기반으로, 필요에 맞게 알람 소리 조절 기능을 추가하실 수 있습니다.

이상으로 플러터 커퍼티노 스테퍼를 이용한 알람 소리 크기 조절 기능 구현에 대해 알아보았습니다.

참고 자료