안드로이드 키보드가 활성화 되면 화면이 밀려 올라가는 현상 해결하기

안드로이드 어플을 만들면서 키보드를 사용하게 설정하는 경우가 많이 있습니다. 숫자를 입력 해야 하는 경우나 글자를 입력 해야 하는 경우 EditText를 터치하면 키보드가 활성화 되는데요. 키보드가 활성화 되면 화면이 위로 밀려 올라가는 경우 어떻게 하면 화면이 위로 밀리는 현상이 없이 키보드가 활성화를 시킬 수 있는지 알아보도록 하겠습니다.


한동안 다른 일로 바빠서 어플 수정에 시간을 투자하지 못했는데 이번에 숫자 뽑기 어플에 음수를 입력하는 기능을 추가 하면서 키보드가 활성화 될 때 화면이 위로 밀리는 증상까지 수정을 하게 되었습니다.



화면이 위로 밀리는게 어떤 증상인지 알아보기

키보드가 활성화 되면 화면이 위로 밀리는게 무슨 말인지 모르실 수 있기 때문에 먼저 화면이 위로 밀리는게 어떤 경우인지 보고서 해결을 해봅시다.

키보드가 활성화 되지 않았을때 화면 입니다. 이 상태에서 키보드를 활성화 시켰을때 화면이 위로 밀리는 현상을 보도록 하겠습니다.

키보드가 활성화 되었습니다. 화면을 보시면 가운데 제외, 초기화, 뽑기 버튼을 포함한 아래쪽 레이아웃이 위로 밀려 올라와서 버튼 높이가 줄어든것이 보입니다. 제가 원했던 화면은 모든 화면이 밀리지 않고 키보드가 화면 위쪽으로 보여지는걸 원했는데 화면이 밀려 올라가니 이쁘지 않게보이고 있습니다.




어떻게 하면 화면이 위로 밀리지 않을까요

해결 방법은 간단했습니다. 코드 한줄만 추가하면 화면이 위로 밀리는 현상은 일어나지 않게 됩니다. AndroidManifest.xml 에서 키보드가 활성화 되는 액티비티에 android:windowSoftInputMode="adjustPan" 코드를 입력해 주게 되면 해결이 됩니다.

저는 MainActivity에서 키보드를 사용하기 때문에 MainActivity에 코드를 추가해 주었습니다. 코드를 입력하고 어플에서 확인을 해보면

코드를 추가하기 전에 화면이 위로 밀려서 가운데 버튼 높이가 줄어들어 이쁘지 않게 되었던 화면이 밀리는 증상 없이 키보드가 활성화 되는걸 확인 할 수 있었습니다. 생각보다 간단했던 해결 방법으로 오늘도 한 수 배웠네요. 안드로이드 어플을 만들다 보면 알지 못했던 방법을 알게 되면서 해결을 하는 재미를 느낄 수 있어서 코딩이 지루하지 않고 재미있게 느끼는게 아닐까 생각해 봅니다.

반응형

이 글을 공유하기

댓글

Designed by JB FACTORY