반응형
안녕하세요? 이번 글은 아이폰앱 중에서 stopwatch를 플러터로 구현해보려고 합니다.
구현의 목적이 출시가 아닌 기능 구현이기 때문에 클론코딩을 선택했습니다. 🙏
디자인
필요한 기능
1.시작 버튼을 터치하면 초수-분수가 증가한다.
2.랩 버튼을 터치하면 선택된 시간이 기록된다.
3.중단버튼을 터치하면 시간이 멈춘다.
4.재설정버튼을 터치하면 초기화된다.
구현한 코드
Timer, Stopwatch class를 사용해서 쉽게 구현할 수 있었습니다.
먼저 타이머를 시작하는 코드입니다.
void _start() {
_timer = Timer.periodic(Duration(milliseconds: 40), (t) {
setState(() {
_result =
'${_stopWatch.elapsed.inMinutes.toString().padLeft(2, '0')}:${(_stopWatch.elapsed.inSeconds % 60).toString().padLeft(2, '0')}:${(_stopWatch.elapsed.inMilliseconds % 100).toString().padLeft(2, '0')}';
});
});
_stopWatch.start();
}
다음은 타이머를 일시중단하는 코드입니다.
void _stop() {
_timer.cancel();
_stopWatch.stop();
}
다음은 초기화하는 코드입니다.
void _reset() {
_stop();
_stopWatch.reset();
}
완성된 화면
완성된 코드는 깃허브 링크로 남겨두겠습니다. 🫶
반응형
'Flutter' 카테고리의 다른 글
[flutter] xcode에서 iphone 실기기로 플러터 프로젝트 빌드하기 (0) | 2023.04.12 |
---|---|
[flutter] Searching for inspections failed: undefined method `map' for nil:NilClass (해결방법: xcode 버전 낮추기) (0) | 2023.04.11 |
[flutter]EventBus 개념 | 특징 | 사용방법 알아보기 (0) | 2023.04.04 |
[flutter] typedef 왜 쓰는지 이유/사용하는 방법/간단한 예제코드 (0) | 2023.03.10 |
안드로이드스튜디오에서 sqlite database 확인하기 (+database inspector가 안보일 때 찾는 방법) (0) | 2023.01.31 |