[flutter] 플러터 Stepper를 사용하여 잠금 화면의 밝기 조절 기능이 있는 알람 애플리케이션을 만들어보자.

이번에는 플러터의 Stepper 위젯을 활용하여 잠금화면의 밝기를 조절할 수 있는 알람 애플리케이션을 만들어보겠습니다. Stepper는 여러 단계에서 값을 선택하거나 조작할 수 있는 기능을 제공하는 위젯입니다.

Stepper란?

Stepper는 사용자가 값을 증가 또는 감소시킬 수 있는 인터페이스를 제공하는 위젯입니다. 다양한 단계가 있는 작업을 완료하기 위해 사용됩니다. 예를 들어, 날짜 선택, 수량 선택, 밝기 조절 등 여러 가지 상황에서 사용할 수 있습니다.

애플리케이션 개요

이 애플리케이션은 사용자가 알람을 설정할 때 잠금 화면의 밝기도 함께 조절할 수 있는 기능을 제공합니다. 알람 설정 화면에서 Stepper를 사용하여 밝기를 조절하고, 이 값을 알람 정보와 함께 저장합니다.

애플리케이션 구현

1. 프로젝트 설정 및 환경 설정

먼저, flutter 프로젝트를 생성하고 프로젝트를 준비합니다. 프로젝트의 의존성으로 material 패키지를 추가합니다.

dependencies:
  flutter:
    sdk: flutter
  material: ^2.0.0

2. UI 디자인

main.dart 파일을 열고 다음과 같이 UI를 구성합니다.

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {

  // 앱의 루트 위젯
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: '밝기 알람 앱',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: AlarmScreen(),
    );
  }
}

class AlarmScreen extends StatefulWidget {
  @override
  _AlarmScreenState createState() => _AlarmScreenState();
}

class _AlarmScreenState extends State<AlarmScreen> {
  double brightness = 0; // 밝기 값

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('밝기 알람 설정'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text('밝기 선택'),
            Stepper(
              value: brightness,
              min: 0,
              max: 100,
              step: 10,
              onChanged: (value) {
                setState(() {
                  brightness = value;
                });
              },
            ),
            SizedBox(height: 20),
            Text('현재 밝기: $brightness'),
            ElevatedButton(
              onPressed: () {
                // 알람 설정 완료하고 저장하는 로직 추가
              },
              child: Text('알람 설정하기'),
            ),
          ],
        ),
      ),
    );
  }
}

위 코드에서 Stepper 위젯을 사용하여 밝기를 선택하는 UI를 구성하였습니다. value 속성을 통해 현재 선택된 밝기 값이 표시되고, onChanged 콜백을 통해 밝기가 변경될 때마다 상태가 업데이트됩니다.

3. 알람 설정

알람 설정 버튼을 누를 때 알람과 함께 밝기 값을 저장하도록 수정합니다. onPressed 속성에 해당하는 로직을 추가합니다.

ElevatedButton(
  onPressed: () {
    // 알람 설정 완료하고 저장하는 로직 추가
    saveAlarm(brightness);
  },
  child: Text('알람 설정하기'),
),

위 코드에서 saveAlarm 함수는 알람과 밝기 값을 저장하는 로직으로 작성되어야 합니다. 이 함수는 프로젝트 요구사항에 따라 개발되어야 합니다.

4. 실행

프로젝트를 실행하고 알람 설정 화면에서 밝기를 조절한 후 알람을 설정해보세요. 알람 설정이 완료되면 알람과 함께 선택한 밝기 값이 저장된 것을 확인할 수 있습니다.

마무리

이번 예시에서는 플러터의 Stepper 위젯을 사용하여 알람 설정 화면에서 잠금 화면의 밝기를 조절하는 기능을 구현해보았습니다. Stepper를 사용하면 다양한 단계에서 값을 조작할 수 있는 UI를 쉽게 구현할 수 있습니다. 애플리케이션의 요구사항에 맞게 Stepper를 활용하여 여러 가지 기능을 추가할 수 있습니다.

참고 자료: