brunch

You can make anything
by writing

C.S.Lewis

by 오준석 Nov 03. 2016

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

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


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

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

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

























android:windowSoftInputMode


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

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


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


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




브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari