Flutter) 지하철 도착 알림 앱 (2)
저번 포스팅에서 개요와 model에 대한 이야기를 했으므로 오늘은 MVVM 중 View 부분에 대해 포스팅하겠다.
내가 원한 디자인인 요구 사항은
1. 최근 검색기록 버튼이 있어서 해당 버튼으로 빠르게 검색
- 어차피 출퇴근에서 환승이 없으므로 사실상 2개 역만 빠르게 검색하는게 중요했다. 퇴근 시간에는 안그래도 시간이 없는데 글자를 입력할 시간따윈 없다;;
2. 도착 정보 자동 갱신 타이머
- 도착 정보 API에 횟수 제한이 있으므로 필요했다.
3. 내가 고른 열차 도착 정보 강조
- 처음에는 별 생각 없었는데 호선이 많은 경우 내가 탈 지하철이 뭐 였는지 다시 보는것도 어려워서 필요했다.
검색 기록은 Sqlite를 사용해서 관리하였다. 검색 기록중 현재 시간과 가장 가까운 순으로 뜨도록 했다.
(출근, 퇴근 할때 빠르게 떠야하니까)
버튼은 화면 비율등의 이유로 깨지는 걸 방지하기 위해 Wrap 위젯으로 감싸는 형태로 했다.
꾹 누를시 삭제되도록 했다.
처음에는 단순한 버튼으로해서 켜고 끌 수 있도록만 하였는데 디자인도 마음에 안들고 제대로 작동하는지 알 수가 없어서
타이머를 직접 그려 표현하기로 하였다.
코드는인터넷 자료를 참고했다 이후 CustomPainter의 경우 공부가 매우 필요하다고 느껴진다.
열차 정보 버튼은 내가 해당 열차를 클릭하면 ViewModel에 해당 열차에 대한 정보를 저장하고 해당 열차를 가장 앞으로 정렬 후 노란색으로 표시하도록 하였다.
View의 경우 따로 포스팅 할게 없다고 느껴진다;;
다음 포스팅에서는 사실상 핵심인 ViewModel 부분에 대해 포스팅하도록 하겠습니다.