Languages/Dart & Flutter
dart 버튼아니고 스트림을 이용한 스낵바 호출
프로그래멍
2021. 1. 29. 11:09
검색해보면 스낵바의 호출은 대부분 버튼은 onpress하면 발생한다.
내가 원하는건 버튼을 누르면이 아니라 어떠한 행동을 했을 때 발생했으면 했었다.
스낵바는 scaffold가 있어야 된다.
근데 또 scaffold의 context면 안된다. 그래서 한 번 더 감싼다던지 위젯을 만든다던지
다이렉트로는 안되더라.
자세한건 참고링크를 확인.
그래서 난 key를 이용했다.
사용법은 걸어 둔 링크를 참고하면 되겠다. 정리를 잘하셨다.
final scaffoldKey = GlobalKey<ScaffoldState>();
키를 만들고
Scafold 위젯에
key:scaffoldKey 해주면 된다
그리고 listen이 있는 class에 스낵바를 호출하는 함수를 적어주면 된다.
subscription = streamDirection.listen((event) {
view.scaffoldKey.currentState.showSnackBar(SnackBar(
content:
Text(text.toString().substring(1, text.toString().length - 1))));
});