Front-end/Flutter

[노마드코더] #5 Pomodoro App

성중 2023. 1. 27. 13:18

User Interface

 

User Interface · joseph-106/toonflix@4b609bb

Show file tree Showing 2 changed files with 88 additions and 36 deletions.

github.com

  • Scaffold를 screens 폴더의 하나의 파일로 분리 (context로 상위 테마 접근)
  • Flexible은 flex 값을 기반으로 상위 UI를 나눠 child UI들을 비율에 맞게 배치
  • Row로 감싸고 Expanded로 확장시키면 Container를 가로 전체로 늘리기 가능

 

Timer

 

Timer · joseph-106/toonflix@f437306

Showing 1 changed file with 23 additions and 4 deletions.

github.com

  • Dart 표준 라이브러리에 포함된 Timer 타입을 활용해 일정 간격마다 함수 실행 가능
  • late 변수로 타이머 선언 / 타이머 변수에 Timer.periodic(실행 주기, 실행 함수) 대입
  • 타이머 변수를 인수로 받는 실행 함수에서 setState로 데이터 조작 반복

 

Pause Play

 

Pause Play · joseph-106/toonflix@c3b3b0f

Showing 1 changed file with 15 additions and 2 deletions.

github.com

  • cancel 메소드로 타이머 정지 / 삼항 연산자로 앱 상태에 맞는 UI 및 함수 구현

 

Date Format

 

Date Format · joseph-106/toonflix@f683b80

Showing 1 changed file with 22 additions and 6 deletions.

github.com

  • setState 내부에서 조건문을 나누기 보다는 외부에서 나누고 각각 setState를 넣어주기
  • 시간(초 단위) 변수를 Duration으로 넘긴 후 문자열로 변환해 필요한 부분만 추출해 반환

 

본 내용은 노마드코더의 'Dart 시작하기'를 바탕으로 작성되었습니다