파파비의 블로그
플러터, flutter) 스넥바 보여주기 (feat Scaffold.of(context)) 본문
스넥바를 보여주는 방법은,
그 화면의 scaffold 에 접근해서 띄우게 하면 된다.
Scaffold.of(context)를 하면 해당 위젯에서 제일 가까운 Scaffold로 연결된다.
즉, 자신이 존재하는 화면의 Scaffold에게 접근하는 것이다.
Scaffold.of(context).showSnackBar를 실행하고
인수로는 SnackBar위젯을 넣는다.
SnackBar위젯은 content인수를 필수로 가지며 Text위젯을 받는다.
장바구니 버튼을 누르면 이렇게 SnackBar가 뜨도록 해두었다.
하단에 잘 뜨는 것을 확인하였다.
<참고1>
SnackBar에 duration 속성에 Duration위젯을 설정해두면 뜨는 시간을 조정할 수 있다.
<참고2>
SnackBar에 action 속성에 SnackBarAction을 통해, ActionButton들을 넣을 수 있다.
SnackBarAction은 label (string만 받음), 그리고 onPressed 속성을 넣어야 한다.
이렇게 하단에 UNDO 버튼을 넣을 수도 있다.
<참고3>
snackbar를 유도하는 버튼을 여러번 누르면, duration기간이 끝나고 새로운 snackbar가 생긴다.
그것을 원치않고 누르는 즉시 새로운 snackbar를 유도하고 싶다면,
Scaffold.of(context).showSnackBar를 실행직전에
Scaffold.of(context).hidecurrentsnackbar를 실행하도록 하면 된다.
<참고4>
Scaffold.of(context)를 통해 bottomsheet를 실행하던가
Drawer를 연다던가 하는 등의 다양한 작업을 할 수 있다.
'개발 > flutter' 카테고리의 다른 글
플러터, flutter) Input을 도와주는, Form 위젯(1) - Form 기본 및 설정 (0) | 2020.06.09 |
---|---|
플러터, flutter) Dismissible 확인절차 갖기 & AlertDialog 사용방법 (0) | 2020.06.09 |
플러터, flutter) 조건부 위젯 넣기 (0) | 2020.06.09 |
플러터, flutter) 스와이프해서 지우기, Dismissible 위젯 (0) | 2020.06.08 |
플러터, flutter) FittedBox 위젯, (0) | 2020.06.08 |