애플리케이션의 사용자 권한에는 현재 세 종류가 있다: 멤버, 코치, 어드민. 물론 영어로 해 뒀다. member, coach, admin 이렇게.
보통 멤버 권한으로 앱을 사용하고, 매일 바뀌는 운동 등을 작성하고, 수정하고, 회원 기록을 입력하고 하는거는 coach, 아니면 admin이 해야한다.
member는 그냥 게시된 글을 보기만 할 수 있으니 수정할 일이 없다. 작성할 일도 없고.
어느날 admin 권한을 넣어서 앱 내용을 좀 채워보려 했더니, 키보드가 등장하면서 화면의 90%를 먹어버리는 것을 발견하였다.
이런 예상치 못한 변이 있나.
에러 1.
글을 작성하는 페이지에서 | 키보드가 등장하면 이렇게 가려져 버리는 것이다. |
![]() |
![]() |
이러한 에러를 사전에 발견하지 못한 이유가 있다.
에뮬레이터로 테스트하면서 개발할 때, 하드웨어 키보드 연결 옵션에 체크해두고, 편리하게 이리 저리 작성해 보기만 했었다. 키보드 등장할 때 이런 상황이 펼쳐질 줄이야..
이런,,
ㅜㅜ
body 파트를 SingleChildScrollView로 감싸줬다.
그랬더니 해결이 되었다.
크흡...
끝...
이라기엔,, 또 뭔가를 발견했다.
스크롤이 너무 많이 된다.
에러2.
내가 생각하는 스크롤의 한계 | 앱이 도달하는 스크롤의 한계 |
![]() |
![]() |
이럴수가..
흠,.., 사실 내비둬도 되지만, 또 막상 이러한 에러를 발견하니 고치지 않을 수가 없는 것이다.
이것은 마치, 화장실에 갔다가 볼일을 보고 손을 씻으려는데 비누가 없어서, 그래서 물로만 씻고 바지에 물 뭍은 손을 닦고 화장실을 나서는 그런 찝찝함이랄까...
그래서 중요한 것은 화장실에는 비누가 꼭 비치되어 있어야 한다는 것이다.
이거는 어떻게 스크롤 한계를 정하지? 찾아봐야겠다.
찾아보니 ConstrainedBox 라는 기능이 있어서 이걸 사용해 보았다. 그냥 뭐 찾아볼 것도 없는게, 이름 자체가 기능을 말해준다.
이렇게 수정하니, 불필요한 여백이 없어지고, 딱 내가 원하는 만큼의 스크롤까지만 조절해 줄 수 있었다.
뿌듯!