앱 개발을 시작하려면 먼저 Flutter 개발 환경을 설정해야 합니다. Flutter를 아직 설치하지 않은 경우 Flutter 공식 웹사이트에서 설치 가이드를 참고하십시오.
Flutter 개발 환경을 설치하고, 다음과 같이 새로운 프로젝트를 생성합니다:
flutter create countdown_timer_app
프로젝트를 생성한 후, 코드 편집기 (예: Visual Studio Code)를 열고 countdown_timer_app 폴더를 엽니다.
앱의 기본 UI 디자인을 설정합니다. 이 앱은 버튼과 남은 시간을 표시할 화면으로 구성됩니다. UI를 다음과 같이 설계합니다:
Scaffold(
appBar: AppBar(
title: Text('Countdown Timer'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
'00:00', // 남은 시간 표시
style: TextStyle(fontSize: 36),
),
SizedBox(height: 20),
ElevatedButton(
onPressed: () {
// 버튼 누를 때 타이머 시작
},
child: Text('타이머 시작'),
),
],
),
),
)
버튼을 누를 때 타이머를 시작하도록 로직을 구현합니다. 이때 Timer.periodic을 사용하여 1초마다 시간을 감소시킵니다.
int secondsRemaining = 60; // 초기 타이머 값 (60초)
Timer timer;
void startTimer() {
timer = Timer.periodic(Duration(seconds: 1), (Timer t) {
setState(() {
if (secondsRemaining == 0) {
t.cancel(); // 타이머 중지
} else {
secondsRemaining--;
}
});
});
}
"타이머 시작" 버튼을 누를 때 타이머가 시작하도록 버튼과 타이머를 연동합니다.
ElevatedButton(
onPressed: () {
if (!timer.isActive) {
startTimer();
}
},
child: Text(timer.isActive ? '타이머 실행 중' : '타이머 시작'),
)
앱을 실행하고 버튼을 눌러 타이머가 동작하는지 확인합니다. 타이머가 0에 도달하면 중지됩니다.
[Flutter] Dart의 명명된 생성자(Named Constructor) 이해하기 (0) | 2023.10.01 |
---|---|
[Flutter] DataModel을 사용하여 api 데이터 화면에 보여주기 (1) (0) | 2023.10.01 |
[Flutter] Flutter Icons 라이브러리: 아이콘 사용의 핵심 (0) | 2023.09.27 |
[Flutter] Hero Widget에 대해 알아보자! (0) | 2023.09.24 |
[Flutter] 다양한 라이브러리와 패키지 소개 (0) | 2023.07.11 |