brunch

[Android] 키보드가 레이아웃에 영향 안 주게하기

by 오준석

레이아웃을 짜다 보면 소프트 키보드가 레이아웃을 덮어 버려야 하는 경우도 있고, 밀고 올라와야 되는 경우도 있습니다.


아래 그림은 소프트 키보드가 광고영역을 밀고 올라가는 경우입니다. 의도적으로 이렇게 만들 수도 있지만, 소프트 키보드가 현재 레이아웃에 영향을 주지 않도록 하고 싶을 수도 있습니다.

모 광고 회사의 약관에는 아래와 같은 레이아웃은 반려가 되기도 합니다.

그런데 이걸 안 덮게 하려고 레이아웃을 뜯어 고치자니 아주 귀찮아 집니다.

























android:windowSoftInputMode


소프트 키보드가 액티비티에 영향을 어떻게 줄 건지를 결정하는 <activity> 의 속성 중에 android:windowSoftInputMode 가 있는데 개발자 문서에도 없는 'adjustNothing' 이라는 속성을 사용하면 레이아웃에 영향을 주지 않고 키보드가 위로 올라옵니다.

<activity android:windowSoftInputMode="adjustNothing" ...>


기타 다른 속성은 개발자 페이지를 참고하면 됩니다.


https://developer.android.com/guide/topics/manifest/activity-element.html#wsoft




keyword
매거진의 이전글MySQL의 ORDER BY로 지정한 순서대로 정렬하기