반응형
단순하다. 일시정지/실행 기능을 넣으려고 한다.
bool isRunning = false;
이 변수를 이용해서(false로 초기화) 실행중인지, 실행중이 아닌지 구분한다.
void onStartPressed() {
timer = Timer.periodic(const Duration(seconds: 1), onTick);
setState(() {
isRunning = true;
});
}
void onPausePressed() {
timer.cancel();
setState(() {
isRunning = false;
});
}
이렇게 두 함수를 이용해서 실행하는 함수와 일시정지하는 함수를 만들었다.
setState으로 상태를 변경해야 함을 명심하자.
그리고...
child: IconButton(
iconSize: 120,
color: Theme.of(context).cardColor,
onPressed: isRunning ? onPausePressed : onStartPressed,
icon: Icon(isRunning
? Icons.pause_circle_outline
: Icons.play_circle_outline),
),
이렇게 icon 버튼이 isRunning이라는 변수를 통해서 버튼 아이콘과 실행하는 함수를 변경하도록 설정하면 끝이다.
반응형
'앱 만들기 프로젝트 > Flutter' 카테고리의 다른 글
Flutter - 5.4 Code Challenge (0) | 2024.11.20 |
---|---|
Flutter - 5.3 Date Format (0) | 2024.11.20 |
Flutter - 5.1 Timer (0) | 2024.11.18 |
Flutter - 5.0 User Interface (0) | 2024.11.13 |
Flutter - 4.4 Widget Lifecycle (1) | 2024.10.27 |