flutter_프로젝트/1_타이머_만들기

4. 기능 추가하기 - 버튼 변경

studyapps 2024. 7. 20. 14:02

타이머가 가기 전에 (시작하기 전에)는 버튼이 start 가 표시되고

 

타이머가 시작한 후에는 pause 버튼이 생기게 하려면 아래와 같이 ? : 연산을 이용하면 된다. (o.o) 신기

 

ElevatedButton(
                onPressed: start_btn,
                child: Text(isRunning ? 'Pause' : 'Start'),
              )

 

조건 ?  A : B 
조건에 만족하면 A를 실행, 만족하지 않으면  B를 실행한다

 

즉 여기서는

1. 실행하고 있는지 않은지 하는 isRunning 이라는 변수를 먼저 선언하고 false 로 둔다 

2. start_btn 함수가 실행되면 값을 true로 변경 (실행하니까...)

3. 그에 따라서 버튼은 'Pause' / 'Start' 둘중에 하나를 표시

  Timer? _timer;
  bool isRunning = false;

 

void start_btn() 안에는 아래와 같이 수정한다.

      setState(() {
        isRunning = true;
        ttotal -= 1;
      });