앱 만들기 프로젝트/Flutter

Flutter - 5.2 Pause Play

지나가는물리석사학생 2024. 11. 19. 23:45
반응형

단순하다. 일시정지/실행 기능을 넣으려고 한다.

  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