안드로이드/Android 키보드 Window soft input mode 설정 하기~!
안드로이드 키보드 Window soft input mode 설정에 대한 설명 입니다.~!
해당 설정은 AndroidManifest.xml에 키보드가 실행 될 Activity에 설정해 주시면 됩니다.
ex)
<activity android:name=".NoWeightActivity" android:windowSoftInputMode="adjustResize"/> |
자 그럼 본격적으로 windowSoftInputMode 옵션에 대해 알아 보겠습니다.
<예외> : EditText가 키보드 올라오는 것에 영향을 받지 않으면 해당 옵션들이 적용 되지 않는다. 다시 말해 올라오는 키보드에 EditText가 영향을 받아야 아래의 옵션들이 적용 된다. |
1. 설정 X : adjustUnspecified 와 stateUnspecified 가 적용 된다. |
2. adjustPan : 키보드가 올라오면 EditText에 맞춰 화면 UI가 실종 됩니다. (위 아래로 잘림) |
3. adjustResize : 키보드가 올라와도 EditText와 UI가 화면에 보이도록 Activity를 resize 한다. |
3. adjustUnspecified : 시스템이 알아서 상황에 맞는 옵션을 설정 한다. 키보드 조정에 대한 디폴트 값이다. |
4. stateHidden : Acitivty 실행 시 키보드가 자동으로 올라오는 것을 방지 한다. |
5. stateAlwaysHidden : Acitivty 실행 시 항상 키보드가 자동으로 올라오는 것을 방지 한다. (액티비티 이동 포함) |
6. stateVisible : Acitivty 실행 시 키보드가 자동으로 올라 온다. (EditText에 포커스 맞춰짐) |
7. stateAlwaysVisible : Acitivty 실행 시 항상 키보드가 자동으로 올라 온다. (EditText에 포커스 맞춰짐) (액티비티 이동 포함) |
8. stateUnchanged : 키보드를 마지막 설정 상태로 유지 한다. |
9. stateUnspecified : 키보드의 상태가 설정이 안된 상태이다. 시스템이 적절한 키보드를 상태를 설정해 주거나 테마에 따라 설정 해준다. 키보드 상태의 디폴트 값이다. |
[Android Developer 키보드 설정 확인 하기]
안드로이드 키보드 옵션은 키보드가 올라 올 때 EditText를 가려야 만 적용이 됩니다. 왜냐하면 키보드 등장 시 EditText를 덮어 버리면 사용자가 입력한 문자를 볼 수 없기 때문 입니다.
EditText가 키보드에 가려지지 않을 경우 :
어떤 옵션을 선택해도 적용 되지 않는다.
EditText가 키보드에 가려질 경우 :
설정한 옵션이 적용 된다.
[기본화면] [adjustPan] [adjustResize]
스크롤뷰가 적용된 화면에서 EditText가 키보드에 가려진 경우 (설정 adjustResize) :
ScrollView 사이즈 만큼 스크롤을 사용 할 수 있다.
[기본화면] [키보드 올라 왔을 경우] [ScrollView 사이즈 만큼 스크롤을 사용 할 수 있다] |
스크롤뷰가 적용된 화면에서 EditText가 키보드에 가려진 경우 (설정 adjustPan) :
ScrollView 사이즈 만큼 스크롤을 사용 할 수 없다.
[기본화면] [키보드 올라 왔을 경우]
[ScrollView 사이즈 만큼 스크롤을 사용 할 수 없다.]
'Android > 키보드' 카테고리의 다른 글
안드로이드/Android 키보드 Show / Hide 시키기 ~! (0) | 2013.03.01 |
---|---|
안드로이드/Android Keyboard(키보드) 숨기기 ~ ! (1) | 2011.11.14 |