개인 프로젝트를 새롭게 시작하고
구현중에 있다.
현재 UI는 다 그렸는데 이제 DB 작업만 남았다..
앱 개발자를 준비하면 프론트, 백 둘다 빡시게 준비해야되는건가,,,
어렵다,,
오늘은 오늘 구현중 알게된 신박한 기능하나 소개하려고한다.
나는 보통 GetX를 이용하여 상태관리를 하고 있는데
수 많은 Get의 기능중
snackbar 이다.
간단한 사용법은
Get.snackbar("저장 실패", "빈칸 없이 채워주세요",
colorText: Mycolor().snackbarText,
snackPosition: SnackPosition.TOP,
backgroundColor: Mycolor().snackbarBg,
icon: const Icon(Icons.warning_amber));
이며 설명이 필요한 부분은 따로 없어보인다.
이렇게까지 구현하고 테스트 해봤는데
사진과 같이 버튼을 막누르면 그 횟수만큼 계속해서 창이 나온다는점이다.
이를 해결하기 위해선
isSnackbarOpen를 써주면 된다.
if (Get.isSnackbarOpen) {
} else {
Get.snackbar("저장 실패", "빈칸 없이 채워주세요",
colorText: Mycolor().snackbarText,
snackPosition: SnackPosition.TOP,
backgroundColor: Mycolor().snackbarBg,
icon: const Icon(Icons.warning_amber));
}
코드와 같이 If문을 한번 걸어 현재 snackbar가 떠있는 상황인지 확인후 기능을 수행하도록
바꿔주면 아래와같이 해결된 결과를 확인할 수 있다.
'코딩 > Flutter' 카테고리의 다른 글
[flutter] 36... AnimatedContainer 사용법 (ClipRect, Wrap) (0) | 2023.02.08 |
---|---|
[flutter] 35... 디바이스 화면 회전 금지하기(SystemChrome, DeviceOrientation) (0) | 2023.02.03 |
[flutter] 33... ListView 스크롤 제어하기(animateTo, horizontal date picker) (0) | 2023.01.31 |
[flutter] 32... Google 로그인 창 안뜸 오류 (Google_sign_in) (0) | 2023.01.25 |
[flutter] 31... ListView 무한스크롤, 스크롤 페이지네이션 구현하기 (pagination, scrollController) (0) | 2023.01.23 |