flutter 에서 시간경과에 따른 무엇가를 하기 위해서는 dart:async 임포트가 필요하다
import 'dart:async';
1초 마다 시간을 가게 한다면 1초 마다 작동되는 Timer 를 만들어 주면 된다.
함수를 하나 만들어서 매 1초 간격으로 tick 을 (몇번 갔는지?) 출력하게 한다
void start_btn() {
Timer.periodic(const Duration(seconds: 1), (Timer t) {
print(t.tick);
// 1초 마다 타이머 t의 tick을 출력한다
});
}
함수 이름을 start_btn으로 만들고 이 함수를 버튼에 연결한다.
ElevatedButton(
onPressed: start_btn,
child: const Text('Start'),
)
이 상태에서 앱을 실행하면 "디버그 콘솔" 창에서 시간이 가는 것이 보인다. (tick이 출력된다)
바뀐 것은 없지만 함수를 어디 넣어야 하는지 헷갈리수 있음으로 (나만?) 함수까지 코드는 아래와 같다.
class _stopWatchState extends State<stopWatch> {
void start_btn() {
Timer.periodic(const Duration(seconds: 1), (Timer t) {
print(t.tick);
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
'flutter_프로젝트 > 1_타이머_만들기' 카테고리의 다른 글
6. 타이머 시간 선택 하기 - CupertinoTimerPicker (0) | 2024.07.28 |
---|---|
5. 기능 추가하기 - pause 기능 만들기 (1) | 2024.07.20 |
4. 기능 추가하기 - 버튼 변경 (0) | 2024.07.20 |
3. 화면에 표시하기 (0) | 2024.07.19 |
1.타이머 만들기 - 스케치 (0) | 2024.07.13 |