table_calendar 패키지를 사용해서 달력을 꾸미던 도중 페이지 전환시 ui ( calendarBuilder ) 를 가져오지 못했다.
그래서 다음달을 넘겨도, 이전달로 돌아와도 ui 가 사용자가 보던 달력과 달라지자 이상했다. 아무리 바꿔도 기존 로직으로는 onPageChanged 콜백을 호출하지 못했다.
아래는 내가 메모장에 적던 것들이다.
지금 스와이프를 하면 onPageChanged 에 들어온다.
buildNormalDateWidget 에서 포커스데이를 받아서 getDateColor 의 매개변수에 넣어줬음. 원래 DateTime.now() 이렇게 되어있더라고 그래서 현재날짜가 아니니까 변경이 안된거였음. 진짜 간단한거였네..
이제 문제는 스와이프 하면 이벤트가 사라져버림 ex) 6월 갔다가 5월로 스와이프 해오면 이벤트 싹다 사라짐 ui만 없어진게 아님.
스와이프를 못하게 해버림 해결 완
이제 달력 버튼으로 누르면 위에 숫자 바꾸기 레전드 만드는곳에 selectedDay 말고 focusDay
말 그대로 스와이프 (달력을 좌우로) 했을때 onPageChanged 콜백에 들어왔다.
하지만 스와이프 해도ui 는 그대로 였고 스와이프를 하면 이벤트가 날아갔다.
그래서

이 코드를 사용해서 스와이프를 막아줬다.
아래 코드는 컬러에 현재 포커스 된 날짜를 넘겨줘서 지금 날짜가 이러니까 여기에 색상을 맞춰줘 라고 알려준다.
