본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[Android/안드로이드] Manifest Activity Tag 의 windowSoftInputMode 속성에 대해 파헤쳐보아요!

by 돼지왕 왕돼지 2012. 1. 23.
반응형


0. History


- 이 글은 2012-01-23 초안 작성 시작하였습니다.
- 오래된 정보, 잘못된 정보, 오타가 있으면 Comment 남겨주세요. 확인 후 수정하겠습니다
- 이 글은 2012-01-23 초안 작성 완료하였습니다.
- 이 글은 2012-01-25 adjustResize 와 adjustPan 에 대한 상세 설명이 추가되었습니다.
- 이 글은 2012-01-25 4. Tag 항목을 추가하며  최상단에 존재하던 Tag 를 이동하였습니다.



1. Information


먼저 Developer 내용을 간단히 정리해주세요


- Activity ( Main Window ) 가 focus 를 얻는 순간 ( 화면에 보여지는 순간 ), soft keyboard 를 보여줄지 감출지를 설정하는 것.

- Soft keyboard 가 나타날 때, main window 를 resize 하면서 나타날지, focus 있는 곳만 보이도록 하면서 나타날지를 설정하는 것.



developer 의 설명만으로도 어려운 것 없죠?

[Soft Keyboard 가 뭔가요?]



어떤 값들이 들어갈 수 있나요?


android:windowSoftInputMode = "state mode | adjust mode " 의 형태로 주로 사용합니다.

예를 한번 볼까요?

<activity android:windowSoftInputMode="stateVisible|adjustResize" . . . >



state mode 는 말 그대로, 보여줄 지 안 보여줄지에 대한 mode 설정.
adjust mode 는 말 그대로, soft keyboard 가 나올 때 화면을 어떻게 조정할 것인지에 대한 mode 설정 입니다.

이 때 주의할 것state mode 또는 adjust mode 또는 state mode | adjust mode 는 가능하지만,
이 외의 경우에 대해서는 undefined 값으로 바뀌어 설정됩니다. 이 점을 주의하셔야 하겠습니다.

 Value  Description
 stateUnspecified 설정값 없음 ( undefined ). System에서 알아서 적절히 설정하거나 Theme에 영향을 받는다. 
 stateUnchanged 지난 setting 값을 유지한다. 
 stateHidden activity "진입" 시에 keyboard 를 숨긴다. ( resume으로 돌아오는 경우는 적용되지 않는다. ) 
 stateVisible activity "진입" 시에 특이 사항이 없다면 keyboard 를 보여준다. 
 stateAlwaysVisible activity "진입" 시에 항상 keyboard 를 보여준다.
( resume으로 돌아오는 경우는 적용되지 않는다. ) 
 adjustUnspecified 설정값 없음( undefined ). System에서 알아서 mode 설정.
여기서 System 설정은 Scroll 가능한 View 를 가지고 있다면 Resize 함.
 adjustResize  Soft keyboard 공간을 위해 activity 를 resize 한다.
 adjustPan Window의 focus를 input focus에 위치하도록 이동하여 보여준다.
Typing 하는 동안에는 해당 view 를 볼 수 있지만,
다른 UI 의 시야를 방해할 수 있기 때문에 추천되지는 않는다.


[adjustResize 와 adjustPan에 대한 상세 설명]


손가락 추천 꾸욱~ 더 좋은 글로 보답하겠습니다.


2. Summary


- android:windowSoftinputMode 는 activty ( main window ) 가 focus를 얻는 순간 ( 화면에 보여지는 순간 ), soft keyboard 를 보여줄지와, 보여줄 때 window를 resize 할지, focus 있는 곳을 보이도록 할지를 결정하는 attribute.

- android:windowSoftInputMode="stateMode | adjustMode" 의 형태로 주로 씁니다.




3. References


http://developer.android.com/guide/topics/manifest/activity-element.html#wsoft  
  Android Developer Doc. Manifest Activty Tag의 windowSoftInputMode.




4. Tags






반응형

댓글