항상 발생하는 문제는 아닌 것 같으며, 다음 조건에 경우 발생하는 것으로 보입니다.
-. 부모화면에서 새로운 화면을 MaterialPageRoute으로 뛰운 경우
-. 자식 화면에서 MediaQuery를 사용한 경우(Padding 위젯에서 화면의 가로 크기를 가져와야 하는 경우 사용)
-. 자식 화면에서 FutureBuilder를 사용한 경우
위와 같은 조건에서 키보드가 나타나면은(TextFormField 클릭 시) 자식 화면이 다시 로드 되버린다.
키보드가 나타나면서 화면 레이아웃 바뀌고 MediaQuery가 작동되면서 부모화면에서 자식 화면을 다시 띄우는?? 뭐 이런 것 같은데..
MediaQuery가 부모화면까지 영향이 가는 듯하다...
정확히는 이해가 안되고...해결 방법은 자식화면에만 적용되는 MediaQuery를 사용하면 되나보다..
MediaQuery.of(context).size.width 대신 MediaQueryData.fromWindow(WidgetsBinding.instance.window).size.width 사용했다.
화면 가로 크기 ^^
MediaQueryData.fromWindow(WidgetsBinding.instance.window).size.width
https://github.com/flutter/flutter/issues/37878
'개발언어 > Flutter' 카테고리의 다른 글
[Flutter] Stateful Widget Lifecycle(생명주기) 관련 사이트 모음 (0) | 2020.08.08 |
---|